2010-10-01 119 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");