PHP

dateのformat

More than 1 year has passed since last update.

この記事について

本当は
http://php.net/manual/ja/datetime.createfromformat.php
を修正したかったけど、修正のしかるべき手順が全くわからず、修正しようとしたら変なエディタが開いて、セーブしたけどレビューへの回し方とか何もわからなかったのでイラッとして作ったチラシの裏

本題

http://php.net/manual/ja/datetime.createfromformat.php
date_create_formatについて

"fooおよびbar"という形式で、「先頭のゼロを含むものと含まないもの」という表記があるのだが、この順番がバラバラ
具体的には、

format 文字 説明 取りうる値の例
d および j 2桁の日付。先頭のゼロを含むものと含まないもの 01 から 31 あるいは 1 から 31
m および n 月を表す数値。先頭のゼロを含むものと含まないもの 01 から 12 あるいは 1 から 12
g および h 12 時間制での時間。先頭のゼロを含むものと含まないもの 1 から 12 あるいは 01 から 12
G and H 24時間制での時間。先頭のゼロを含むものと含まないもの 0 から 23 あるいは 00 から 23

こういう表記は、巡り巡ってどこかでバグを生む可能性がある(もちろん "悪い" のは不注意な人だけど…一般論としてはA and Bに対してfooとbarという説明があったら、AがfooでBがbarと思う人は一定数いる)ので、修正した方がいいかなーと思ったけど、修正方法がわからず挫折して萎えた。そんなチラ裏。