9

PHP と jQuery を使用して、1500 年から 2020 年の日付を表示する必要があるインタラクティブなタイムラインを作成しています。通常、strtotime日付を操作するときは PHP の関数を使用しますが、1900 年より前の日付では機能しません。

日付は MySQL データベースから取得され、" " などの文字列としてフォーマットされますJanuary 31, 1654(これは理想的なフォーマットではないかもしれませんが、保存方法を変更することはできません)。私は PHP を使用して日付を解析しています。基本的には、日付をタイムライン上のどこに表示するかを決定するピクセル値に変換しています。

これらの歴史的な日付を解析する最も簡単な方法は何ですか?

4

2 に答える 2

9

ここDateTimeで、クラスが役立つかもしれません(引用):

日付の各コンポーネント (年など) は 64 ビットの数値として内部的に格納されるため、考えられるすべての日付 (負の年を含む) がサポートされます。


ただし、次の点に注意してください。

  • PHP >= 5.2 にのみ存在します。
  • また、いくつかのメソッドは PHP >= 5.3 にしか存在しません

したがって、PHP 5.3 で開発していて、ソフトウェアに PHP 5.2 との互換性を持たせたい場合は、使用しているメソッドに注意してください。


別の解決策(特に、アプリケーションで Zend Framework を使用している場合)は、Zend_Dateコンポーネント (引用符) になります。

PHP 5.2 のドキュメントには、「タイムスタンプの有効な範囲は、通常、1901 年 12 月 13 日金曜日 20:45:54 GMT から 2038 年 1 月 19 日火曜日 03:14:07 GMT までです」 Zend_Dateと記載されていますが、ほぼ無制限の範囲をサポートしています。 BCMath拡張の

于 2010-03-15T18:12:56.133 に答える