[英]PHP date_timezone_set stops date format from showing 24hr time
我有以下代碼:
$date = date_create('2014-11-06T23:00:00.000Z');
date_timezone_set($date, timezone_open('Australia/Victoria'));
echo $date ->format('Y-m-d H:i:s');
結果是:
2014-11-07 10:00:00
但是在PHP doco中,它表示大寫H是24小時制: http : //php.net/manual/en/function.date.php H每小時的24小時格式,其前導零從00到23
如果我將中線注釋如下:
$date = date_create('2014-11-06T23:00:00.000Z');
#date_timezone_set($date, timezone_open('Australia/Victoria'));
echo $date ->format('Y-m-d H:i:s');
結果是:
2014-11-06 23:00:00
確實顯示24小時制,但是日期是一天,所以我需要設置時區。
為什么設置date_timezone_set會使我無法以24小時時間格式顯示日期,以及如何解決此問題?
除非您指定時區, date_create
假設當前時區。 如果您沒有定義一個,那么它將使用UTC。
由於時區是在date_create
之后指定的,因此日期將存儲為UTC。
由於2014-11-06 23:00 UTC與2014-11-07 10:00 UTC + 11(澳大利亞/維多利亞)是同一時間,因此您在回顯日期時會看到后者。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.