PHPでなくてもいいのだったらdateコマンドが一番シンプルだと思う.
GNUだったらこんな感じ
$ date -d "2009/9/26 23" +%s 1253973600
BSDはちょっとややこしい.
$ date -v2009y -v9m -v26d -v23H -v0M -v0S +%s 1253973600
あと,GNUのdateは結構柔軟にparseしてくれるみたい
日付だけでもこれぐらい対応できるし
$ date -d "9/28" "+%Y/%m/%d %H:%M:%S" 2009/09/28 00:00:00 $ date -d "2009/9/28" "+%Y/%m/%d %H:%M:%S" 2009/09/28 00:00:00 $ date -d "9/28/2009" "+%Y/%m/%d %H:%M:%S" 2009/09/28 00:00:00 $ date -d "2009-9-28" "+%Y/%m/%d %H:%M:%S" 2009/09/28 00:00:00 $ date -d "28-Sep-2009" "+%Y/%m/%d %H:%M:%S" 2009/09/28 00:00:00 $ date -d "Sep 28" "+%Y/%m/%d %H:%M:%S" 2009/09/28 00:00:00 $ date -d "Sep 28, 2009" "+%Y/%m/%d %H:%M:%S" 2009/09/28 00:00:00 $ date -d "28 Sep" "+%Y/%m/%d %H:%M:%S" 2009/09/28 00:00:00 $ date -d "28 Sep 2009" "+%Y/%m/%d %H:%M:%S" 2009/09/28 00:00:00
英語っぽい表現も多少は大丈夫
$ date -d "now" "+%Y/%m/%d %H:%M:%S" 2009/09/28 22:56:55 $ date -d "yesterday" "+%Y/%m/%d %H:%M:%S" 2009/09/27 22:57:03 $ date -d "next Sunday" "+%Y/%m/%d %H:%M:%S" 2009/10/04 00:00:00 $ date -d "1 month ago" "+%Y/%m/%d %H:%M:%S" 2009/08/28 23:01:18 $ date -d "third day" "+%Y/%m/%d %H:%M:%S" 2009/10/01 23:02:13