首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php () vs ()

问php () vs ()
EN

Stack Overflow用户
提问于 2010-06-01 20:43:33
回答 2查看 516关注 0票数 2

我有这个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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-01 20:46:45

因为在mysql的区域设置中,1275364800是2010-05-31而不是1st june 2010。这些是在不同的机器上运行的吗?

票数 0
EN

Stack Overflow用户

发布于 2010-06-01 20:53:17

若要在MySql中设置区域设置,请执行以下操作。

首先检查一下您的本地人是什么:

代码语言:javascript
复制
mysql> SELECT @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| en_US           |
+-----------------+

为了确保它使用的正确,如果这与您的apache / php区域设置相关联的话。

更改MySql中的区域设置

代码语言:javascript
复制
mysql> SET lc_time_names = 'en_UK';    
Query OK, 0 rows affected (0.00 sec)

en_UK是你想要改变的东西!

代码语言:javascript
复制
mysql> SELECT @@lc_time_names;
+-----------------+
| @@lc_time_names |
+-----------------+
| en_UK           |
+-----------------+ 

希望这对你有帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2953182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档