PHP 教程:处理时间和时区需注意以下三点

PHP

当被问及是否很难处理日期和时区时,超过 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。

通过遵循这些规则,你应该在如何处理日期时间方面灌输一个有效的流程。

资料:

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://dev.to/corykeane/3-simple-rules-...

译文地址:https://learnku.com/php/t/50855

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!