您好,登錄后才能下訂單哦!
這篇文章主要介紹PHP處理時(shí)間和時(shí)區(qū)的規(guī)則有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
當(dāng)被問及是否很難處理日期和時(shí)區(qū)時(shí),超過 50%的開發(fā)人員回答“是”。我的猜測是,那些對這項(xiàng)民意調(diào)查說“不”的人要么已經(jīng)明白了這一點(diǎn),要么他們沒有與必須迎合全球用戶的平臺(tái)/應(yīng)用程序合作。
無論如何,我想創(chuàng)建一篇博客文章,詳細(xì)介紹我是如何處理日期和時(shí)區(qū)的。我想只要遵循這些簡單的規(guī)則,你就不會(huì)那么頭疼了。
規(guī)則 #1 - 在數(shù)據(jù)庫中存儲(chǔ) UTC 格式的 DATETIMES 和后端代碼。
所有與日期相關(guān)的數(shù)據(jù)都要保持一致,這一點(diǎn)很重要。在數(shù)據(jù)庫中存儲(chǔ)日期時(shí),它們應(yīng)始終使用 UTC 格式。如果你不熟悉什么是 UTC,那么它是所有主要時(shí)區(qū)所依據(jù)的主要時(shí)間標(biāo)準(zhǔn)。主要時(shí)區(qū)只是 UTC 的偏移量。此外,在使用后端代碼處理日期時(shí),請確保日期時(shí)間為 UTC 格式。
規(guī)則 #2 - 使用前端代碼將 DATETIMES 轉(zhuǎn)換為用戶的本地時(shí)區(qū)。
雖然你的后端將返回 UTC 時(shí)間,但是前端可以很容易地將這些時(shí)間轉(zhuǎn)換為用戶的本地時(shí)區(qū)。這樣做會(huì)在后端(以UTC為句柄)和前端(以用戶本地時(shí)間為句柄)之間灌輸職責(zé)分離。通過使用 ISO 8601 等標(biāo)準(zhǔn),保持前端日期時(shí)間格式的一致性。當(dāng)你向后端發(fā)送請求時(shí),請以 ISO 8601 格式發(fā)送日期時(shí)間,以便后端可以輕松地將其轉(zhuǎn)換為相應(yīng)的 UTC 日期時(shí)間。
規(guī)則 #3 - 使用日期時(shí)間庫。
在所有主要的 Web 開發(fā)語言/框架中都存在用于更好地處理日期時(shí)間的庫。這些使得基于標(biāo)準(zhǔn)(例如 ISO 8601 )進(jìn)行轉(zhuǎn)換或格式化變得容易得多。在JavaScript 中要查看的一個(gè)示例庫是 Moment.js。 在 PHP 中要查看的一個(gè)示例庫是 Carbon。
通過遵循這些規(guī)則,你應(yīng)該在如何處理日期時(shí)間方面灌輸一個(gè)有效的流程。
資料:
以上是PHP處理時(shí)間和時(shí)區(qū)的規(guī)則有哪些的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。