我从SQL中选择当前日期:
foreach ($dbh->query('SELECT CURRENT_TIMESTAMP as `now`;') as $row) {
echo $row['now'];
}
,输出为:2015-01-24 12:46:45
。这是我的计算机上的时间,位于GMT-0500 (EST)
。但是,我认为SQL时间戳应该总是在UTC
中?为什么这个时间戳不是UTC?
答案 0 :(得分:1)
没有规则说它必须是UTC,相反请参阅文档(强调我的):
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_current-timestamp
将当前时间作为'HH:MM:SS'或HHMMSS.uuuuuu中的值返回 格式,取决于函数是用于字符串还是 数字上下文。 该值以当前时区表示。
有一个UTC_TIMESTAMP()
函数来获取UTC时间戳,你也可以使用UNIX_TIMESTAMP()
函数(但这会给你一个不同的数据类型)。