我有一个MySQL字段,它为我提供了格式为YYYY-MM-DD HH:MM:SS
的时间戳。默认值为CURRENT_TIMESTAMP
。现在,当我尝试将其转换为Unix时间戳时,我得到了一些奇怪的结果。
实际上,我使用this函数来计算相对时间。它输出负整数,即使MySQL时间戳只有几秒钟。我不知道什么是错的。
我也发现了一些奇怪的问题。例如,在MySQL中,
mysql> select from_unixtime(1289206455);
+---------------------------+
| from_unixtime(1289206455) |
+---------------------------+
| 2010-11-08 14:24:15 |
+---------------------------+
1 row in set (0.03 sec)
在PHP CLI中:
php -r "echo date('Y-m-d h:m:s', 1289206455);"
2010-11-08 09:11:15
假定的输出(在两种情况下)都应该是:2010-11-08 02:54:15
source。
因此,PHP和MySQL的时间似乎有所不同。我该如何同步它们?我在Ubuntu 11.04 XAMPP上。
由于
答案 0 :(得分:0)
您需要设置时区。
date_default_timezone_set($zone);
http://php.net/manual/en/function.date-default-timezone-set.php
MySQL:http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_time_zone(@Idg thanks)