【问题标题】:PHP timezones and how to display them [duplicate]PHP时区以及如何显示它们[重复]
【发布时间】:2018-12-15 18:09:53
【问题描述】:

你如何解决不同时区的“问题”? 假设我有某种社区,人们可以在其中发布状态消息。问题是用户确实生活在世界各地,而目前的时间只是以一种格式显示......

如何找出用户的时区,如何保存并显示它?

【问题讨论】:

  • 一般来说,你的问题太宽泛了。有关此主题的更多信息,请参阅链接的重复问题,以及使用 timezone 标签搜索和查看其他问题。此外,将时区称为“问题”是愚蠢的。它们只是地球上人类计时的一个方面。关于该主题有很多文档和易于引用,并且您标记的 php 和 mysql 中有很多解决方案。
  • 谢谢马特 - 我想这里的其他人都知道我在提到时区是一个“问题”时在说什么。包括我在内的所有人都不认为时区是“现实世界的问题”。感谢您的哲学不必要的回答,但如果它让快乐感到被拥抱或其他什么......

标签: php mysql timezone


【解决方案1】:

使用它。pageloom

在 javascript 中使用它来获取时区:

<script language="javascript">
function getTimezoneName() {
    timezone = jstz.determine()
    return timezone.name();
}
</script>

【讨论】:

    【解决方案2】:

    使用时区非常棘手,有很多关于此的文章,请查看article 了解用于工作时区感知系统的所有技巧。

    • GMT 格式存储所有日期。
    • 在注册过程中通过从下拉列表中手动选择时区或自动获取用户的时区。自动获取用户的时区有点棘手:您必须从 javascript 获取时区,并向服务器发出 ajax 请求以保存时区。
    • 在前端显示所有转换为用户时区的日期(我已经为 laravel 构建了一个 Trait 可以自动执行此步骤,所以我认为您可以在系统中执行类似的操作)

    【讨论】:

      【解决方案3】:

      在客户端,您可以使用: Moment.js 检索时区: https://momentjs.com/timezone/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-25
        • 2018-01-19
        • 2016-02-08
        • 2014-12-03
        • 1970-01-01
        • 2016-01-16
        • 2013-06-16
        • 2019-09-12
        相关资源
        最近更新 更多