PHP裏的「夏令蟲」

今兒,我遇到一個大怪物 -- 夏令蟲php

╮(╯▽╰)╭,學藝不精,由於他掉進大坑裏去了。坑是這樣挖的:安全

之前,我爲了表示當前時間的「明天」、「後天」,會用到類以下面的寫法:spa

$date = date(time + 3600*24*N);code

卻不知,這種寫法並不安全的,請看例子:class

 

ini_set('date.timezone','Europe/Berlin');
echo date("Y-m-d H:i:s",1382824800);
echo "<br/>";
echo date("Y-m-d H:i:s",1382824800 + 1*86400);


輸出的結果是date

 

 

2013-10-27 00:00:00
2013-10-27 23:00:00


次日被偷偷吃掉一個小時!im

 

並且將來154天都會這樣,直到第155天,這一小時纔會「被還回來」。項目

爲何會這個樣子?經過查詢資料發現,原來是夏令時致使的問題,查詢

不過,我國當前未實行夏令時,因此,這個問題對於「Asia/Shanghai」來講,暫時不會成爲問題。時間

關於日期的格式化,仍是推薦尋找使用更科學的計算方式。


之前寫的PHP代碼都有可能會所以而BUG,在這裏向之前的項目致歉了。

相關文章
相關標籤/搜索