Ich verwende PHP und jQuery, um eine interaktive Zeitleiste zu erstellen, die Daten zwischen 1500 und 2020 anzeigen muss. Normalerweise verwende ich PHPs strtotime
-Funktion bei der Arbeit mit Datumsangaben, aber nicht für Daten vor 1900.
Die Daten stammen aus einer MySQL-Datenbank und sind als Zeichenfolgen wie " January 31, 1654
" formatiert (dies ist möglicherweise nicht das ideale Format, aber ich kann nicht ändern, wie sie gespeichert werden). Ich benutze PHP, um die Daten zu analysieren, und wandle sie im Grunde in Pixelwerte um, die bestimmen, wo sie auf der Zeitleiste angezeigt werden.
Was ist der einfachste Weg, diese historischen Daten zu analysieren?
Die DateTime
Klasse könnte hier helfen ( zitieren ):
Jede Komponente des Datums (z. B. Jahr) ist intern als 64-Bit-Nummer gespeichert alle erdenklichen Daten (einschließlich negative Jahre) werden unterstützt.
Aber beachte das:
Also: Vorsicht vor den Methoden, die Sie verwenden, wenn Sie PHP 5.3 entwickeln und Ihre Software mit PHP 5.2 kompatibel sein soll
Eine andere Lösung (insbesondere wenn Sie Zend Framework in Ihrer Anwendung verwenden) wäre die Zend_Date
Komponente ( Zitat ):
Obwohl PHP 5.2 Dokumente enthält, "The Der gültige Bereich eines Zeitstempels ist typisch von Fr, 13 Dez 1901 20:45:54 GMT bis Di, 19 Jan 2038 03:14:07 GMT, "
Zend_Date
unterstützt a fast unbegrenzte Reichweite, mit der Hilfe der BCMath-Erweiterung
Mit der wunderbaren Carbon Library sind Daten in der Vergangenheit kein Problem:
%Vor%Dies funktioniert für Daten, in denen Menschen schon einmal waren. Für alles andere ist die Verwendung eines Datums (mit Tag und Monat, eingestellt auf der AC / BC-Skala) nicht sehr sinnvoll.
Tags und Links php date unix-timestamp