DATETIME. Rango de fechas entre 1000-00-00 00:00:00 y 9999-12-31 23:59:59.
TIMESTAMP. Rango de fechas entre 1970-00-00 00:00:00 y 2038-01-19 03:14:07. Segundos desde EPOCH. Internamente (la base de datos) hace las conversiones necesarias para guardar el dato en UTC+0.
El valor vacío/nulo para las fechas es 0000-00-00 00:00:00.
Obtener un objeto tipo fecha.
Fecha actual. $now = JFactory::getDate(); El valor es serializado (tiene el mismo valor al comienzo que al final de la ejecución del script PHP).
Valor de la base de datos. $fecha = JFactory::getDate($row→fecha);
Formatos soportados en el formateo de una fecha.
RFC2822. Fri, 2 Oct 2009 15:25:00 +0000
RFC3339. 2009-10-02 T15:25:00+0000
Formato inglés (americano). 2 October 2009
Timestamp. (número entero de hasta 32 bits).
Representación interna de JDate. Siempre es UTC+0.
Uso en mysql.
$db = &JFactory::getDBO(); $sql = 'SELECT * FROM … WHERE fecha = ' $db→Quote ($fecha→toMySQL()) ' AND campo = 10';
Zonas horarias en la configuración. Hay una zona horaria para el servidor y otra definición de zona horaria para cada usuario.
Visualizar fechas.
Formatos estándar posibles (con ejemplos en la versión de inglés):