首頁  >  文章  >  後端開發  >  當以毫秒為單位設定 m-d-Y H:i:s.u 格式的日期時,為什麼微秒欄位顯示 000000?

當以毫秒為單位設定 m-d-Y H:i:s.u 格式的日期時,為什麼微秒欄位顯示 000000?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-23 19:52:30514瀏覽

Why is the Microseconds Field Displaying 000000 When Formatting Dates in m-d-Y H:i:s.u from Milliseconds?

從毫秒取得日期格式m-d-Y H:i:s.u

在此查詢中,目標是將日期字串格式化為“m-d-Y H:i:” s.u" 來自以毫秒為單位的Unix 時間戳。但是,結果在微秒字段中始終顯示000000。

<code class="php">$milliseconds = 1375010774123;
$d = date("m-d-Y H:i:s.u", $milliseconds/1000);
print $d;</code>

輸出:

07-28-2013 11:26:14.000000

要解決此問題,可以使用輸入格式「U.u」:

<code class="php">$now = DateTime::createFromFormat('U.u', microtime(true));
echo $now->format("m-d-Y H:i:s.u");</code>

輸出:

04-13-2015 05:56:22.082300

此方法利用PHP 手冊中的以下格式說明符:

  • U:自Unix 紀元以來的秒數
  • u:微秒

時區和microtime( )

需要注意的是,如果未明確提供, createFromFormat() 方法通常使用本地時區。初始化為UTC。將格式化的日期字串輸入到MySQL,格式請修改為:

以上是當以毫秒為單位設定 m-d-Y H:i:s.u 格式的日期時,為什麼微秒欄位顯示 000000?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn