2

Windowsでサポートされているオプションdate()とサポートされていないオプションがあるのはなぜですか?strftime()私は、日付に関連するものはすべてのシステムがサポートする必要があるものですが。日付が内部に保存されているためですか?

4

2 に答える 2

6

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などのライブラリを使用することをお勧めします。

于 2010-01-09T17:40:17.307 に答える
0

これは、datestrftimeが基になるシステム関数のシン ラッパーにすぎないため、オペレーティング システムがサポートする関数のみを受け入れるためです。

http://linux.die.net/man/3/strftime
http://msdn.microsoft.com/en-us/library/fe06s4ak%28VS.71%29.aspx

于 2010-01-09T17:52:42.063 に答える