sql >> Database >  >> RDS >> Mysql

strtotime gebruiken voor datums vóór 1970

Uit de documentatie voor strtotime() :

strtotime() heeft een bereiklimiet tussen vr 13 dec 1901 20:45:54 GMT en di 19 jan 2038 03:14:07 GMT; hoewel vóór PHP 5.1.0 dit bereik op sommige besturingssystemen (Windows) beperkt was van 01-01-1970 tot 19-01-2038.

Welke versie van PHP draai je? En op welk platform? Misschien is het tijd voor een upgrade.

Als je werkt met datums buiten het bereik van 13 december 1901 tot 19 januari 2038, overweeg dan om PHP's DateTime-objecten te gebruiken die met een veel breder scala aan datums kunnen werken.

Procedureel:

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


  1. Database-e-mailmeldingen configureren in MS SQL Server

  2. TRANSLATE() Functie in Oracle

  3. Escape-functie voor reguliere expressie of LIKE-patronen

  4. Hoe vindt u kolomnamen voor alle tabellen in alle databases in SQL Server