2017-04-21 67 views
0

我在使用日期函数$now=date("Y-m-d H:i:s");在php 5.6.30, 浏览器输出是string(19) "2017-04-21 02:54:54",这是不正常的。php日期不能得到24位数的时间小时

的php.ini集是date.timezone = PRC

的Centos 7系统时间:

[[email protected] sync]# date Fri Apr 21 14:53:20 CST 2017

当我在同一系统中安装了PHP 7.0.16,php.ini中具有相同的配置,但日期功能中的日期输出正常(24位数字时间)。 为什么会发生这种情况,以及如何让日期正常工作。

+0

** $ now = date(“Y-m-d H:i:s”);在PHP 5.6.30,浏览器输出是字符串(19)“2017-04-21 02:54:54”,这是不正常的。**为什么? –

+0

它在我的本地PM,所以它应该是“2017-04-21 14:54:54” – Carey

+0

使用'date.timezone = Asia/Shanghai' –

回答

1

可能的值试试这个下面的日期代码timezon Ë

<?php 
date_default_timezone_set('Asia/Shanghai'); 
echo date("Y-m-d H:i:s"); 
?> 
+0

这是正确的,它在php.ini中改变无效吗? – Carey

+0

php.ini code: date.timezone = Asia/Shanghai –

3

这是一个时区问题。

在你的php.ini中,你有时区PRC(中国)设置,但是你的系统时间输出给出CST(美国)的时间。
换句话说: 你的PHP代码没有真正给你24小时的格式,但在不同的时区,它实际上是在2时54分54秒

如果你需要得到在时间不同的时区(如UTC),你可以将它设置这样的:

date_default_timezone_set('UTC'); 

如果你需要一个不同的本地时区,你可以看到在list of supported timezones in the PHP documentation

0

我添加代码为php.ini date.timezone = Asia/Shanghai, 并安装chrony,并开始同步。有用。

+0

然后接受一个正确答案。不要自己回答 –

+0

在正确答案上打勾?我做的。 – Carey

相关问题