私はstrtotime()
は奇妙な方法でのUNIXタイムスタンプを扱うことに気づいた、と誰もがそれである理由を知っている場合、私は興味があった:なぜstrtotime()がそれを理解するために、UNIXのタイムスタンプの先頭に '@'を付ける必要がありますか?
var_export(strtotime('1330725042')); // false
var_export(strtotime('@1330725042')); // 1330725042
なぜタイムスタンプが@
が付けられた場合を除き(Unixタイムスタンプを与えstrtotime()
リターンfalse
)?
これは、未知の形式の変数をタイムスタンプに「解決」するために作成したライブラリメソッドの内部からのものです。 strtotime()
を使用すると、受信値が実際にタイムスタンプのときに間違った結果を返すので、この場合は役に立ちません。
タイムスタンプのような値を明示的にチェックして修正しないようにライブラリメソッドを修正しました。したがって、この問題のための実用的なアプリケーションはもうありません。私はちょうど興味がある。
ドキュメントにはこう書かれているので:http://www.php.net/manual/en/datetime.formats.compound.php整数は有効な日付/時刻フォーマットではないと思います – Tchoupi
+1そのマチューを結ぶ。私はそこにドキュメントがあると思った*どこか*。 – Josh
ありがとうございます。私は実際には、UNIXのタイムスタンプが有効なPHPのDateTime形式であるとは考えていませんでした。 – Tchoupi