2010-03-15 8 views
8

Ich benutze PHP und jQuery, um eine interaktive Zeitleiste zu erstellen, die Daten zwischen 1500 und 2020 anzeigen muss. Normalerweise verwende ich PHP strtotime Funktion bei der Arbeit mit Daten, aber es funktioniert nicht für Daten vor 1900.Wie kann ich mit Datumsangaben vor 1900 in PHP arbeiten?

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, indem ich sie in Pixelwerte umwandle, die bestimmen, wo sie auf der Zeitleiste angezeigt werden.

Was ist der einfachste Weg, diese historischen Daten zu analysieren?

Antwort

9

Die DateTime Klasse, hier könnte (quoting) helfen:

Jede Komponente des Datums (zB Jahr) ist intern als 64-Bit gespeicherte Nummer so alle denkbaren Daten (einschließlich negativen Jahre) sind unterstützt.


Aber beachten Sie, dass:

  • Es existiert nur in PHP> = 5.2
  • Und verschiedene Methoden existieren nur in PHP> = 5,3

Also: Vorsicht, von denen Methoden, die Sie verwenden, wenn Sie PHP 5.3 entwickeln und Ihre Software mit PHP 5.2

kompatibel sein soll 10


Eine andere Lösung (vor allem in der Anwendung Zend Framework bei der Anwendung) die Zend_Date Komponente sein würde (quoting):

Obwohl PHP 5.2 docs Zustand, „Der gültige Bereich eines Zeitstempel von Fr, 13. Dezember 1901 20.45.54 GMT Di, 19. Januar 2038 03.14.07 GMT“Zend_Date unterstützt eine nahezu unbegrenzte Reichweite, mit Hilfe der BCMath Erweiterung

+0

Das hat mich auf dem richtigen Weg, vielen Dank! – shipshape

+0

Gern geschehen :-) Viel Spaß! –

Verwandte Themen