PHPをアップグレードすると日付周りでよく転ぶ(よね?)

わりとよく引っかかってる気がする。単純に(日時計算周りは)バグ率が高いってことかな?

date()関数のformatパラメータ"W"について。

ISO-8601 月曜日に始まる年単位の週番号 (PHP 4.1.0 で追加)
PHP: date - Manual

恥ずかしながら、ISO-8601を読まずに、得られる結果だけを見て(一桁は1文字)ました。なので、<=PHP5.0.4での挙動を疑わず、PHP5.1.6での挙動にびっくり。

Fixed bug #34302 (date('W') do not return leading zeros for week 1 to 9). (Derick)
PHP: PHP 5 ChangeLog
PHP: PHP 5 ChangeLog
The Date function have an ISO compilant Week parameter 'W'

This parameter should return leading zeros for week 1 to 9 (alwaysreturning 2 digits).
PHP Bugs: #34302: Date('W') do not return leading zeros for week 1 to 9 (as specified in ISO)

>=PHP5.0.5(>=PHP5.1.0)からは、常にゼロ詰めの2桁で返る模様。

strtotime()関数に年月文字列を指定した場合の日付の扱いに付いて。

echo date("Y-m-d", strtotime("2006-01")) . "\n";

日付が省略された場合、1日とするか現在の日付とするかの違いがある(PHP5.0.4では1日でPHP5.1.6では現在)。これはどれが当てはまる情報かよく分からなかったのでパス。ISOなんたらなのかな?

まあ、じっくり検証しろってことですね。

プロフィール

このブログ記事について

このページは、koshigoeが2007年1月 5日 23:06に書いたブログ記事です。

ひとつ前のブログ記事は「PUTとPOSTの違い」です。

次のブログ記事は「『RSS検索』ってなんだ?」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。