2015-12-22 63 views
1

這是一個非常小的問題,但我不能夠解決它PHP代碼不轉換GMT正確北京時間

我想轉換GMT通過PHP到北京時間,爲了這個,我有以下代碼

$timestamp = strtotime('Tue, 17 Dec 2013 07:23:56 +0000'); 
date_default_timezone_set("Asia/Calcutta"); 
echo date('r', $timestamp); 

代碼是否工作正常,現在我有一個陣列,通過它,我有取時間其在該格式

10-Dec-2015 10:45:02 +0000 

我已經存儲在變量$ MAILDATE

現在,當我把這個變量在這樣的代碼

$timestamp = strtotime('$maildate'); 
date_default_timezone_set("Asia/Calcutta"); 
echo date('r', $timestamp); 

我得到這個日期和時間Thu, 01 Jan 1970 05:30:00 +0530

誰能告訴我要去的地方錯了

+1

''$ maildate''是字串'$ maildate'。擺脫引號。 –

+0

@Jon Stirling刪除引號我得到一個語法錯誤 – ne1902

+0

「我得到一個語法錯誤」 - [norepo](https://3v4l.org/FO11Y) – VolkerK

回答

1

您需要擺脫引號和更新您的代碼從

$timestamp = strtotime('$maildate'); 
         ^^   ^^ 

into

$timestamp = strtotime($maildate); 
        //^^  ^^ Removed quotes 

相反,你可以使用DateTime類等作爲

$date = DateTime::createFromFormat('d-M-Y H:i:s P',$var); 
$date->setTimeZone(new DateTimeZone('Asia/Kolkata')); 
echo $date->format('r'); 
+0

離開DateTime的例子也不錯。日期時間++ –

0

看看這個

$timestamp = strtotime($maildate); 
date_default_timezone_set("Asia/Calcutta"); 
echo date('r', $timestamp);