2011-05-05 135 views
1

全部,將Unix時間戳轉換爲語言環境時區

如何將本地時區中的日期和時間轉換爲unix時間戳。對於timestamp = 1303374724716,PHP的date ('r', $timestamp)功能給我Sun, 16 May 2032 22:11:37 +0000epoch converter正確地轉換爲
GMT: Thu, 21 Apr 2011 08:32:04 GMT
Your timezone: Thu Apr 21 2011 04:32:04 GMT-0400 (Eastern Daylight Time)

我所見過的php.ini文件,默認時區爲UTC。我不明白爲什麼這個值甚至不符合GMT/UTC時間。任何人都可以請幫助我轉換到我的當地時區,即New_York。

回答

3

這是因爲您給出的時間戳以毫秒爲單位。

做:

$timestamp = floor(1303374724716/1000); 

和預期的一樣,一切都會正常工作。

1

的文檔說:

時間戳是可選的,默認的時間的值()。

如果運行

print time(); 

你會得到一些像1304640077

請注意,它比您嘗試通過它的數量小1000倍。

換句話說,您應該以秒爲單位傳遞一個值,而不是毫秒。

要設置時區,請使用date_default_timezone_set,例如,

date_default_timezone_set('America/New_York'); 

或在php.ini文件中設置date.timezone