#當被問及是否很難處理日期和時區時,超過50%的開發人員回答「是」。我的猜測是,那些對這項民意調查說「不」的人要么已經明白了這一點,要么他們沒有與必須迎合全球用戶的平台/應用程式合作。
無論如何,我想建立一篇部落格文章,詳細介紹我是如何處理日期和時區的。我想只要遵守這些簡單的規則,你就不會那麼頭痛了。
規則 #1 - 在資料庫中儲存 UTC 格式的 DATETIMES 和後端程式碼。
所有與日期相關的資料都要保持一致,這一點很重要。在資料庫中儲存日期時,它們應始終使用 UTC 格式。如果你不熟悉什麼是 UTC,那麼它是所有主要時區所依據的主要時間標準。主要時區只是 UTC 的偏移。此外,在使用後端程式碼處理日期時,請確保日期時間為 UTC 格式。
規則 #2 - 使用前端程式碼將 DATETIMES 轉換為使用者的本機時區。
雖然你的後端將會回到 UTC 時間,但前端可以輕易地將這些時間轉換為使用者的本機時區。這樣做會在後端(以UTC為句柄)和前端(以用戶本地時間為句柄)之間灌輸職責分離。透過使用 ISO 8601 等標準,保持前端日期時間格式的一致性。當你向後端發送請求時,請以 ISO 8601 格式發送日期時間,以便後端可以輕鬆地將其轉換為相應的 UTC 日期時間。
規則 #3 - 使用日期時間庫。
在所有主要的 Web 開發語言/框架中都存在著用於更好地處理日期時間的程式庫。這些使得基於標準(例如 ISO 8601 )進行轉換或格式化變得容易得多。在JavaScript 中要查看的一個範例庫是 Moment.js。在 PHP處理時間和時區需注意以下三點! 中要查看的一個範例庫是 Carbon。
透過遵循這些規則,你應該在如何處理日期時間方面灌輸一個有效的流程。
資料:
#原文網址:https://dev.to/corykeane/3-simple-rules-for-effectively-handling-dates-and-timezones-1pe0
翻譯網址:https://learnku.com/php/t/50855
以上是PHP處理時間和時區需注意以下三點!的詳細內容。更多資訊請關注PHP中文網其他相關文章!