我遇到了PHP的gmstrftime()函數的問題。 請看:這是PHP的gmstrftime()函數中的一個錯誤嗎?
<?
$ts[]=1348573985; // '2012-09-25 13:53:05' (date returned from mysql's from_unixtime() function)
$ts[]=1233958620; // '2009-02-06 23:17:00' (date returned from mysql's from_unixtime() function)
foreach($ts as $t) {
echo $t." => ".gmstrftime("%d %B %Y - %H:%M", $t)."\n";
}
?>
輸出將是:
1348573985 => 25 September 2012 - 11:53
1233958620 => 06 February 2009 - 22:17
正如你所看到的,第一時間標記爲2小時的休息時間(從MySQL的輸出),這是因爲時區設置正常。但第二個只有1個小時,但我沒有改變兩個gmstrftime()調用之間的時區?
這是PHP的gmstrftime()函數中的錯誤,還是其他的東西?
「最好的策略是將所有系統設置爲使用'UTC'」---我個人總是在我更喜歡的時區(我住的TZ)運行我的所有服務器,並且它的工作原理也沒有問題。 – zerkms
@zerkms只要你把它留在一個設定的UTC偏移量,那麼是的,那很好。但是,如果您將其設置到某個位置並讓其對夏季/夏令時進行調整,則事情會變得令人困惑,*以我的經驗*。 – IMSoP
我個人的經驗法則是:1)使用任何系統時區2)始終使用正確的日期類型,並始終使用正確的工具使用日期。這對我來說總是有效的;-) PS:http://rwec.co.uk/ ---嗯-oh ;-) – zerkms