![](/img/trans.png)
[英]How to get Carbon time with format like that '2019-07-20T09:20:33+00:00' in PHP
[英]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.