Curso POO PHP Datas e horas
Datas e horas
En PHP non existe un tipo de datos específico para traballar con datas e horas. A información de data e hora almacénase internamente como un número enteiro. Non obstante, dentro das funcións de PHP tes á túa disposición unhas cantas para traballar con ese tipo de datos.
Unha das máis útiles é quizais a función date, que che permite obter unha cadea de texto a partir dunha data e hora, co formato que elixas. A función recibe dous parámetros, a descrición do formato e o número enteiro que identifica a data, e devolve unha cadea de texto formatada.
O formato débelo compoñer utilizando como base unha serie de carácteres dos que figuran na seguinte táboa.
| Carácter | Resultado |
|---|---|
| d | día do mes con dous díxitos |
| j | día do mes con un ou dous díxitos ( sen ceros iniciais ) |
| z | día do ano, comezando polo cero ( 0 = 1 de xaneiro ) |
| N | día da semana ( 1 = luns, …, 7 = domingo ) |
| w | día da semana ( 0 = domingo, …, 6 = sábado ) |
| l | texto do día da semana, en inglés ( Monday, …, Sunday ) |
| D | texto do día da semana, solo tres letras, en inglés ( Mon, …, Sun ) |
| W | número da semana do ano |
| m | número do mes con dous díxitos |
| n | número do mes con un ou dous díxitos ( sen ceros iniciais ) |
| t | número de días que ten o mes |
| F | texto do día do mes, en inglés ( January, …, December ) |
| M | texto do día do mes, solo tres letras, en inglés ( Jan, …, Dec ) |
| Y | número do ano |
| y | dous últimos díxitos do número do ano |
| L | 1 se o ano é bisesto, 0 se non o é |
| h | formato de 12 horas, sempre con dous díxitos |
| H | formato de 24 horas, sempre con dous díxitos |
| g | formato de 12 horas, con un ou dous díxitos ( sen ceros iniciais ) |
| G | formato de 24 horas, con un o dos díxitos (sen ceros iniciais ) |
| i | minutos, sempre con dous díxitos |
| s | segundos, sempre con dous díxitos |
| u | microsegundos |
| a | am ou pm, en minúsculas |
| A | AM ou PM, en maiúsculas |
| r | data enteira con formato RFC 2822 |
Ademais, o segundo parámetro é opcional. Se non se indica, utilizarase a hora actual para crear a cadea de texto.
Para que o sistema poida darche información sobre a túa data e hora, debes indicarlle a túa zona horaria. Podes facelo coa función date_default_timezone_set. Para establecer a zona horaria en España peninsular debes indicar:
date_default_timezone_set('Europe/Madrid');
Para obter a data e hora actual en formato de número enteiro podes empregar a función time. Para pasar unha data (dia, mes, ano) e hora (hora, minutos, segundos) a número enteiro, tes a función mktime. Outras funcións como getdate devolven un array con información sobre a data e hora actual.
Na documentación de PHP podes consultar todas as funcións para xestionar datas e horas.
--Víctor Lourido 14:41 25 jun 2013 (CEST)