我有这个unix时间戳值: 1275364800 (2010年6月1日)。
当使用php:echo date('m',1275364800)打印该值时,它返回6(没关系)
但是,当我从数据库中选择一个字段:select MONTH(FROM_UNIXTIME(1275364800)) AS month时,它返回5
为什么?
顺便说一下,如果我运行这个查询,选择FROM_UNIXTIME(1275364800)作为q,我得到2010-05-31 23:00:00
发布于 2010-06-01 20:46:45
因为在mysql的区域设置中,1275364800是2010-05-31而不是1st june 2010。这些是在不同的机器上运行的吗?
发布于 2010-06-01 20:53:17
若要在MySql中设置区域设置,请执行以下操作。
首先检查一下您的本地人是什么:
mysql> SELECT @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| en_US |
+-----------------+为了确保它使用的正确,如果这与您的apache / php区域设置相关联的话。
更改MySql中的区域设置
mysql> SET lc_time_names = 'en_UK';
Query OK, 0 rows affected (0.00 sec)en_UK是你想要改变的东西!
mysql> SELECT @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| en_UK |
+-----------------+ 希望这对你有帮助!
https://stackoverflow.com/questions/2953182
复制相似问题