2014-01-23 115 views
-1

我有個約會31/12/2013 00:00:00存儲爲時間戳1388440800時間戳日期更改日期時區

當我用我得到30/12/2013 date()函數進行轉換(1388361600)

莫名其妙的轉換正在改變我的時區或東西

有一種方法將它轉化成迄今爲止,它是沒有任何變化的方式嗎?

服務器默認的時區爲歐洲/倫敦

編輯1:事情是,日期是通過ExtJS的存儲爲時間戳和有我得到了正確的日期

+1

1388440800 *確實*對應倫敦* 12月30日*,這是完全正確的。 http://3v4l.org/clqrK你正在期待錯誤的事情和/或存儲了錯誤的時間戳。 – deceze

+0

事實上,現在是2013年12月30日星期一22:00:00 GMT。嘗試在這裏看到http://www.epochconverter.com和1388440600 =週一,2013年12月30日21時56分40秒格林威治標準時間 – vascowhite

+0

嗯..好..這是有道理的我猜。我在跳躍可能有一個解決方案,是不知何時與時區無關的。我認爲extjs正在使用我的本地時區,而不是服務器,而這正在搞亂一切。這可能是一個愚蠢的問題,但幫助了我很多。謝謝你們 – user3040981

回答

0

如果你會用DateTime類,你就不必擔心在時區是服務器:

# when you input @timestamp as parameter, timezone UTC is set 
$date = new DateTime('@1388440800'); 

# then convert your datetime to your specific timezone 
$date->setTimezone(new DateTimezone('Europe/London')); 

# format it anyway you need it 
echo $date->format('c');