簡體   English   中英

php 2021-07-09T14:09:47.529751-04:00 什么樣的數據時間格式以及如何處理

[英]What kind of data time format and how to process this in php 2021-07-09T14:09:47.529751-04:00

我使用了一些獲取到期日期的 api

2021-07-09T14:09:47.529751-04:00

我如何處理它並將其存儲在數據庫中。 我是否將其存儲為日期時間? 它有任何與之相關的時區嗎?

這是正確的,但我如何處理時區。 我的服務器有一個不同的時區,所以如果我存儲這個值它會不正確嗎?

echo date( "Y-m-d H:i:s", strtotime("2021-07-09T14:09:47.529751-04:00") );

您正在查看的日期格式是ISO 8601 Strtotime() 會將其轉換為 UTC 格式的 unix 時間戳,您可以將其作為數字保存到數據庫中。 該數字應大於 4 個字節,以免出現2038 年問題 每次讀取該值時,都必須將其轉換為用戶的正確時區。 這是最簡單的方法。 您永遠不必手動修復數據庫中的日期。

如果要將其作為日期保存到數據庫中,您可能仍希望將日期保存為 UTC 並在顯示值時應用任何轉換。 保存前用 gmdate() 轉換它:

echo gmdate( "Y-m-d H:i:s", strtotime("2021-07-09T14:09:47.529751-04:00") );

如果你總是顯示一個時區的值,你可以在 php.ini 中設置時區 但這並不是最好的方法。 最好明確您的程序使用的時區並在代碼中明確設置它。

當您想顯示其他時區的值時,請參閱此問題settimezone 的手冊

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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