2012-07-25 82 views
0

當我獲取日期N使用此功能時:在日期和時間在PHP的格式,時間是不正確的

date("d-M-Y h:i A"); 

它給了錯誤的時機。 目前正確的時間是04.30,但我的功能顯示上午11.00。 這意味着提前5.30小時。 幫我拿出正確的時間。

+0

右鍵你設置時區在php.ini和/或日期時間對象? – feeela 2012-07-25 11:22:24

+0

http://php.net/manual/en/function.date-default-timezone-set.php – Tamil 2012-07-25 11:23:12

回答

1

展望由您的用戶名,我認爲你從印度是。

所以把date_default_timezone_set('Asia/Kolkata');

date("d-M-Y h:i A");

OR

$offset= strtotime("+5 hours 30 minutes"); 
$date = date("Y-m-d H:i:s",$offset); 
0

如果在localhost上工作,請在php.ini文件中更改您的時區。

OR嘗試如下因素的方法:

<?php 
    $timezone = new DateTimeZone("Asia/Kolkata"); 
    $date = new DateTime(); 
$date->setTimezone($timezone); 
echo $date->format('H:i:s A/D, M jS, Y'); 
?> 
+0

我已經檢查本地主機,也在服務器上。 但顯示錯誤的時間。 笏可能是可能的原因? – 2012-07-25 11:30:14

+0

@atultyagi您是否在使用存儲時間的變量? – 2012-07-25 11:36:55

1

有兩個可能的原因。

1)時區。 2)服務器時間。

這些實際上是相關的。

檢查服務器時間(即運行代碼的機器上的系統時間)。如果不正確;修理它。如果它是正確的,那麼還要檢查時區,並將其引用到php端的默認時區。

0

看來你得到的是UTC時間而不是你的時區(GMT是+5:30)。 (這可能是因爲你的默認時區可以設置爲UTC)

試試這個:

date_default_timezone_set('GMT'); 
$temp= strtotime("+5 hours 30 minutes"); 
$date = date("Y-m-d H:i:s",$temp); 
echo $date;