FROM_UNIXTIME()和PHP strtotime()

时间:2012-12-14 01:17:15

标签: php mysql datetime epoch

我有一个字符串:

12/27/2012 04:00 am

使用strtotime()将字符串转换为纪元,产生:

1356609600

然后调用它时:

select FROM_UNIXTIME(1356609600);

我看到输出的时间被截断了。有谁知道时间被截断的原因或如何保留这种转换的时间:

2012-12-27 12:00:00

1 个答案:

答案 0 :(得分:4)

这里没有时间被截断。 12/27/2012 04:00 am假设strtotime为当地时间php.ini。当它转换为mysql时,mysql在本地时区设置时间。现在如果您在Mysql和php上的时区设置不同,那么它将不会显示相同的时间。

对于my.cnf中的PHP集date.timezone,并在my.iniAsia/Dhaka

中设置default-time-zone

例如,我的时区为date.timezone = Asia/Dhaka 。我在php.ini和my.cnf

中设置了它

的php.ini

default-time-zone = 'Asia/Dhaka'

的my.cnf

{{1}}