sql >> Base de Datos >  >> RDS >> Mysql

Uso de strtotime para fechas anteriores a 1970

De la documentación para strtotime() :

strtotime() tiene un límite de rango entre el viernes 13 de diciembre de 1901 a las 20:45:54 GMT y el martes 19 de enero de 2038 a las 03:14:07 GMT; aunque antes de PHP 5.1.0 este rango estaba limitado del 01-01-1970 al 19-01-2038 en algunos sistemas operativos (Windows).

¿Qué versión de PHP estás ejecutando? ¿Y en qué plataforma? Tal vez sea hora de una actualización.

Si está trabajando con fechas fuera del rango del 13 de diciembre de 1901 al 19 de enero de 2038, considere usar los objetos DateTime de PHP que pueden funcionar con un rango de fechas mucho más amplio.

Procedimiento:

$date = date_create($row['value']);
if (!$date) {
    $e = date_get_last_errors();
    foreach ($e['errors'] as $error) {
        echo "$error\n";
    }
    exit(1);
}

echo date_format($date, "F j, Y");

OOP:

try {
    $date = new DateTime($row['value']);
} catch (Exception $e) {
    echo $e->getMessage();
    exit(1);
}

echo $date->format("F j, Y");