1

我有一个字符串:

2012 年 12 月 27 日上午 04:00

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

1356609600

然后当它被调用时:

select FROM_UNIXTIME(1356609600);

我看到输出的时间被截断了。有谁知道为什么时间被截断或如何从这种类型的转换中保留时间:

2012-12-27 12:00:00
4

1 回答 1

4

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

对于 PHP set date.timezoneinphp.ini和 set default-time-zonein my.cnformy.ini

例如,我的时区是Asia/Dhaka. 我在 php.ini 和 my.cnf 中都设置了它

php.ini

date.timezone = Asia/Dhaka 

我的.cnf

default-time-zone = 'Asia/Dhaka'
于 2012-12-14T01:22:17.710 回答