Wie kann ich mit Datumsangaben vor 1900 in PHP arbeiten?

8

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?

    
shipshape 15.03.2010, 18:09
quelle

2 Antworten

9

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:

  • Es existiert nur in PHP & gt; = 5.2
  • Und mehrere Methoden existieren nur in PHP & gt; = 5.3

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

    
Pascal MARTIN 15.03.2010, 18:12
quelle
0

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.

    
panepeter 15.03.2018 12:29
quelle

Tags und Links