2011-02-03 145 views
4

将MySQL日期时间转换为Unix时间戳时,我对时区差异感到困惑。在我看来,MySQL日期时间(2011-02-07 09:45:00)在服务器的本地时区。我想把这个日期时间转换成一个Unix时间戳,它总是在GMT时区。为了完成这种转换,PHP将日期时间传递给strtotime。日期时间字符串不包含时区,所以strtotime会假设参数是本地时区还是GMT?PHP将MySQL日期时间转换为Unix时间戳

回答

5

strtotime函数将假定datetime在服务器的本地时区中。

1

为什么不使用MySQL的UNIX_TIMESTAMP()函数?

+0

因为运行在服务器上的项目和服务器位于两个不同的时区。引用服务器时区会给网站用户提供错误的数据。我使用了php的date_default_timezone_set('XXX');更改网站的默认时区。 – Cassandra 2015-02-12 01:07:30