Heim > Datenbank > MySQL-Tutorial > Wie kann ich in PHP mit Datumsangaben vor 1970 umgehen, wenn ich „strtotime()' verwende?

Wie kann ich in PHP mit Datumsangaben vor 1970 umgehen, wenn ich „strtotime()' verwende?

Mary-Kate Olsen
Freigeben: 2024-11-25 11:31:14
Original
481 Leute haben es durchsucht

How Can I Handle Dates Before 1970 in PHP When Using `strtotime()`?

Arbeiten mit Daten vor 1970 unter Verwendung von strtotime()

Problem:

Sie haben ein Textspalte in einer MySQL-Datenbank, in der Datumsangaben im Format jjjj-mm-tt gespeichert werden. Ihr PHP-Code verwendet strtotime() zum Konvertieren der Datumsangaben, Sie stellen jedoch fest, dass er nur Werte nach dem 1. Januar 1970 analysiert. Viele Ihrer Datumsangaben liegen unter diesem Grenzwert und Sie fragen sich, ob es eine Problemumgehung gibt, ohne Ihre Datenbankstruktur zu ändern.

Lösung:

Die offizielle PHP-Dokumentation hebt die Datumsbereichsbeschränkungen von hervor strtotime():

Fri, 13 Dec 1901 20:45:54 GMT to Tue, 19 Jan 2038 03:14:07 GMT
Nach dem Login kopieren

Option 1: PHP-Version und Betriebssystem aktualisieren

Wenn möglich, aktualisieren Sie auf eine PHP-Version gleich oder höher als 5.1.0 auf einer Plattform, die den erweiterten Datumsbereich unterstützt.

Option 2: Verwenden Sie DateTime von PHP Objekte

Erwägen Sie die Verwendung von DateTime-Objekten für Datumsangaben außerhalb des strtotime()-Bereichs. Sie bieten mehr Flexibilität.

Verfahrensansatz:

$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");
Nach dem Login kopieren

OOP-Ansatz:

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

echo $date->format("F j, Y");
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP mit Datumsangaben vor 1970 umgehen, wenn ich „strtotime()' verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage