Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utiliser strtotime pour les dates avant 1970

À partir de la documentation pour strtotime() :

strtotime() a une plage limite entre le vendredi 13 décembre 1901 20:45:54 GMT et le mardi 19 janvier 2038 03:14:07 GMT ; bien qu'avant PHP 5.1.0, cette plage était limitée du 01-01-1970 au 19-01-2038 sur certains systèmes d'exploitation (Windows).

Quelle version de PHP utilisez-vous ? Et sur quelle plateforme ? Il est peut-être temps de procéder à une mise à niveau.

Si vous travaillez avec des dates en dehors de la plage du 13 décembre 1901 au 19 janvier 2038, envisagez d'utiliser les objets DateTime de PHP qui peuvent fonctionner avec une plage de dates beaucoup plus large.

Procédure :

$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");