PHP处理时间和时区的规则有哪些
发布时间:2020-10-22 13:37:50
来源:亿速云
阅读:101
作者:小新
这篇文章主要介绍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。
通过遵循这些规则,你应该在如何处理日期时间方面灌输一个有效的流程。
资料:UTC时间标准 - https://en.wikipedia.org/wiki/Coordinated_Universal_Time
ISO 8601 时间格式标准 - https://en.wikipedia.org/wiki/ISO_8601
Moment JS 日期时间库 - https://momentjs.com/
Carbon PHP 日期时间库 - https://carbon.nesbot.com/docs/
以上是PHP处理时间和时区的规则有哪些的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!