簡體   English   中英

PHP date_timezone_set停止顯示24小時制的日期格式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM