Datetimeオブジェクト / PHPにおける2038年問題
また日付ネタなんて,オイラはとんでもねえ粘着なんだぜ.
一応エントリ書く.まぁでももうそろそろウザそうなので手短にw
Datetimeオブジェクトと2038年問題
Datetimeオブジェクト,と聞いてなんとなく予感がしたけど,こいつは2038年問題をクリアしてます.
-
-
- -
-
% php -r '$date = new Datetime(); $date->setDate(2038, 1, 19); $date->setTime(3, 14, 7); echo $date->format(Datetime::RSS) . "\n";'
Tue, 19 Jan 2038 03:14:07 +0900
-
-
- -
-
% php -r '$date = new Datetime(); $date->setDate(2038, 1, 19); $date->setTime(3, 14, 7); $date->modify("+1 second"); echo $date->format(Datetime::ATOM) . "\n";'
2038-01-19T03:14:08+09:00
-
-
- -
-
% php -r '$date = new Datetime(); $date->setDate(2038, 1, 19); $date->setTime(3, 14, 7); $date->modify("+1 month"); echo $date->format(Datetime::RFC822) . "\n";'
Fri, 19 Feb 38 03:14:07 +0900
まぁご覧のとおりです.
//なんで毎回違いフォーマットで出したかって,そりゃあ定数つかってみたかっただけです.
ちなみに
Datetimeオブジェクトが使えるのはPHP5.2.0以降です.(前の記事でリンク張ったけど)
date_create()関数を使ってもオブジェクトを生成することができます.これは5.1.0から使えます.
めでたしめでたし
たぶんもうこのネタおしまい(笑)
*1:記事にする前にまずググろう!