2014-02-14 63 views
0

如何獲取特定時區的當前日期,然後將其轉換爲我的時區?例如:PHP - 按時區獲取日期

$timezone = "UTC+1"; // or UTC, UTC-5, UTC+2.... 
$date = date($timezone); 
$date_UTC = convert($date, "UTC"); 

所以最後的回報一定是像「2014-02-14 08:25:00 +00」;

我玩過很多功能,但其中大部分都使用「歐洲/法國」的時區。

感謝

+2

你知道你可以設置時區,即使是動態的...對嗎? – CBroe

回答

0

首先更改時區,與:

date_default_timezone_set('Europe/London'); 

date_default_timezone_set - 設定腳本

see php.net/

用於所有 日期/時間函數的默認時區
+1

對於您提供的報價中的確切原因,這是一個壞主意。它爲腳本中的* all *函數設置時區。這個操作很可能應該歸入特定的功能或一組陳述中。 – quickshiftin

+0

嗯 - 有道理! – kn0x

1

您可以通過用結合DateTimeDateTimeZone類實現這一點:

$current_tz_str = date_default_timezone_get(); 
$current_tz = new DateTimeZone($current_tz_str); 
$now = new DateTime('now', $current_tz); 
$offset = $current_tz->getOffset($now); 
0

可以使用datetime擴展設置時區:

$timezone = new DateTimeZone('Europe/Copenhagen'); 
$datetime = new DateTime('now', $timezone); 
echo '<pre>In Copenhagen: ', $datetime->format('r'), '</pre>'; 

$timezone = new DateTimeZone('Europe/Helsinki'); 
$datetime->setTimezone($timezone); 
echo '<pre>In Helsinki: ', $datetime->format('r'), '</pre>'; 

這將使你是這樣的:

在哥本哈根:2014年2月14日,星期五22:01:31 +0100

在赫爾辛基:週五,2014年2月14日23時01分31秒+0200

這裏是一個list of supported timezones

+1

向誰投票:請告訴我我的答案有什麼問題。 –