在php中有一個函數date_default_timezone_set()
,它接受像「UK/London」這樣的時區字符串。但不幸的是,我只有用戶的GMT偏移量。PHP根據GMT偏移量獲取當前本地時間
假設我在格林威治標準時間+5,我想根據GMT +5獲得當前時間。我在Google上進行了大量搜索,但沒有幫助。
因爲,我沒有時區字符串我在尋找類似
$current_date = date("Y M D H:S, "GMT +5");
請幫
在php中有一個函數date_default_timezone_set()
,它接受像「UK/London」這樣的時區字符串。但不幸的是,我只有用戶的GMT偏移量。PHP根據GMT偏移量獲取當前本地時間
假設我在格林威治標準時間+5,我想根據GMT +5獲得當前時間。我在Google上進行了大量搜索,但沒有幫助。
因爲,我沒有時區字符串我在尋找類似
$current_date = date("Y M D H:S, "GMT +5");
請幫
只能專門使用GMT抵消了現在,即它是完全沒用如果用戶在半年前告訴你他的GMT偏移量,並且你想知道他現在在什麼時間他的位置。它基本上可以是幾個小時內的任何事情。即使您在幾秒前得到了的偏移量,但如果您恰好碰到DST更改,則計算時間可能會有所不同。如此說來,你會想要從格式化的時間加上/減去偏移小時數,這是你唯一能做的事情。
$offset = 5;
$hours = (gmdate('H') + $offset) % 24;
echo $hours . gmdate(':i:s Y m d');
這只是一個例子,您還需要處理微小的偏移量。
date_default_timezone_set('GMT');
$curTime = strtotime("+5 hours");
$current_date = date("Y M D H:S, $curTime);
可能重複[我怎樣格林威治標準時間的PHP?( http://stackoverflow.com/questions/851574/how-do-i-get-greenwich-mean-time-in-php) – NorthBridge
不,不,不,請 –
@NorthBridge,抵消是奇怪的,我不' t想要抵消像$ offset = 4 * 60 * 60; –