2010-10-01 120 views
6

我上传以下在美国的服务器:date_default_timezone_set显示不正确的时间

date_default_timezone_set('Asia/Calcutta'); 
echo date("Y-m-d H:i:s"); // time in India 

显示的时间是在此之前,印度的实际时间15分钟。

我在这里做错了什么?什么代码总是显示在印度的时间精确到第二?

+2

你确定这是不能简单地认为是不正确运行的服务器的时钟?印度时区(IST)距UTC UTC时间5点30分http://en.wikipedia.org/wiki/UTC%2B05:30 – 2010-10-01 18:06:22

+0

刚刚检查,看起来像服务器时钟确实不正确! – Yeti 2010-10-01 18:16:12

+0

@Yeti,你找到了解决问题的办法吗?现在我的脚本说下午8点16分在哪里,其实在下午7点46分在印度。我在xampp上。 – 2015-08-11 14:17:46

回答

2

这一切都与服务器上设置的时间相关。检查服务器上实际设置的时间是否正确 - 可能是设置时区为15分钟?

14

它只是拼写错误就应该是这样的

date_default_timezone_set('Asia/Kolkata'); 
1

我的本地XAMPP服务器上测试出来的代码时,我有同样的问题。以下是我所做的,将时区默认设置更改为php.ini文件。 ('Asia/Kolkata');

date_default_timezone_set('Asia/Kolkata');

是同意,而不是完全必要

然后,宣布对我的config.php文件date_default_timezone_set(“亚洲/加尔各答”),完全必要设置时区到本地时区。

即使在这之后,我的时间和日期相隔12个小时,这里是捕获,在检查我的Windows操作系统设置时,我发现我的系统时间设置错误。在纠正我的(Windows)操作系统时区时,一切都很完美。

0
$ab = date_default_timezone_get(); 
date_default_timezone_set($ab); 
echo date('dd-mm-Y H:i:s'); 
+0

请提供一些背景知道为什么你认为这是答案 – DForck42 2016-11-07 17:39:44

+0

'echo date('dd-mm-Y H:i:s');'会打印日期和月份两次,这怎么能回答上面的问题! – sabin 2017-06-12 08:40:02

3
date_default_timezone_set('Asia/Kolkata'); 
$timestamp = date("Y-m-d H:i:s");