Windowsでサポートされているオプションdate()
とサポートされていないオプションがあるのはなぜですか?strftime()
私は、日付に関連するものはすべてのシステムがサポートする必要があるものですが。日付が内部に保存されているためですか?
2 に答える
date()のマニュアルでは、次の2 つの違いが指摘されています。
- PHP 5.1.0 より前の Windows では、タイムスタンプは 1970 から 2038 の範囲でした。
- User Contributed Comment によると、マイクロ秒スイッチは Windows では使用できません。
および strftime() の場合:
すべての変換指定子が C ライブラリでサポートされているとは限りません。その場合、PHP の strftime() ではサポートされません。さらに、すべてのプラットフォームが負のタイムスタンプをサポートしているわけではないため、日付範囲が Unix エポックより前に制限される場合があります。これは、%e、%T、%R、および %D (および場合によってはその他のもの) および 1970 年 1 月 1 日より前の日付は、Windows、一部の Linux ディストリビューション、およびその他のいくつかのオペレーティング システムでは機能しないことを意味します。Windows システムの場合、サポートされている変換指定子の完全な概要は » MSDN.
ということですか?理由はすでに説明されていますが、負のタイムスタンプはサポートされていません。それについてできることはあまりないと思います。
それで問題が発生する場合は、Zend_Dateなどのライブラリを使用することをお勧めします。
これは、date
とstrftime
が基になるシステム関数のシン ラッパーにすぎないため、オペレーティング システムがサポートする関数のみを受け入れるためです。
http://linux.die.net/man/3/strftime
http://msdn.microsoft.com/en-us/library/fe06s4ak%28VS.71%29.aspx