hnwの日記

unixtimeを求めるワンライナー

特定の日時のunixtimeが知りたくなった時って皆さんどうしてますか?例えば2009/09/26 23:00:00 JSTであれば次のワンライナーで求められます。

$ php -r 'echo mktime(23,0,0,9,26,2009);'
1253973600


いやいや、ワンライナーって言ったらPerlだろうとも思ったんですが、Perlだとタイプ数的に頑張ってる感があります。

$ perl -MTime::Local -e 'print timelocal(0,0,23,26,8,2009);'
1253973600


というか、引数の順番が違うわ、月は0から11で指定するので1引かないといけないわ*1で超混乱しました。昔は自然に使ってたはずなんですけどね…。PHPに慣れすぎている自分に少しショックを受けました。

*1:年は1900を引いた数という罠も思い出しましたが、timelocalは融通をきかせてくれるみたいですね