今兒,我遇到一個大怪物 -- 夏令蟲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,在這裏向之前的項目致歉了。