Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwendung von strtotime für Daten vor 1970

Aus der Dokumentation für strtotime() :

strtotime() hat eine Bereichsbegrenzung zwischen Fr, 13. Dez. 1901 20:45:54 GMT und Di, 19. Jan. 2038 03:14:07 GMT; obwohl dieser Bereich vor PHP 5.1.0 auf einigen Betriebssystemen (Windows) vom 01.01.1970 bis zum 19.01.2038 begrenzt war.

Welche PHP-Version verwendest du? Und auf welcher Plattform? Vielleicht ist es Zeit für ein Upgrade.

Wenn Sie mit Datumsangaben außerhalb des Bereichs vom 13. Dezember 1901 bis zum 19. Januar 2038 arbeiten, sollten Sie die DateTime-Objekte von PHP verwenden, die mit einem viel größeren Datumsbereich arbeiten können.

Verfahrensweise:

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