unix timestamp + time zone.
UNIXタイムスタンプについて。 ちょっと思い違いをしていたのでメモ。
UNIXタイムスタンプは、1970年1月1日 0時0分0秒(GMT 世界標準時刻)からの通算秒。
MySQLのUNIX_TIMESTAMP()は、指定時刻に対して↑からの通算秒を返す。
time_zoneの設定をもとにしてGMT標準時刻からの差分を判断している模様。
JSTで、UNIX_TIMESTAMP(’2008-08-16 20:00:00′)をかますと2008-08-16 11:00:00までの通算秒が返る。
+01:00 でUNIX_TIMESTAMP(’2008-08-16 20:00:00′)をかますと2008-08-16 19:00:00までの通算秒が返る。
MySQLのタイムゾーンを変更するには、set time_zone=”+01:00″ など。
now()でMySQLに設定されているタイムゾーンの現在時刻(Y-m-d H:i:s)が入る。
UTC_TIMESTAMP()で世界標準の現在時刻(Y-m-d H:i:s)が入る。