【问题标题】:App get DATETIME from DB - Timezone issue应用程序从数据库获取 DATETIME - 时区问题
【发布时间】:2014-05-14 19:45:51
【问题描述】:

这是关于 Cordova 应用程序的。 开始时我请求一个json php file,其中包含几个Datetime 字符串,这些字符串是从我的数据库中提取的。日期已由(CET/MEZ 夏季:GMT+2)时区的某个人手动填写。 我看到它的方式,数据库不存储日期时间(?)的任何时区信息。 例如,我的数据库中有这个日期时间:

2014-05-22 19:45:00

在我的应用程序中,这个日期代表一个事件的开始。用户现在可以启用通知。当我测试它时效果很好。

但是其他时区的人呢(例如巴西,GMT-3,所以应该是 2014-05-22 14:45:00)。我不知道如何测试。

json php 文件中的日期会调整到时区吗?我猜不是。所以我想只做SELECT UNIX_TIMESTAMP(event_datetime)。这样能行吗?

感谢您抽出宝贵时间阅读本文。我感谢每一个答案。

【问题讨论】:

    标签: php mysql json datetime timezone


    【解决方案1】:

    UNIX 时间戳和 MySQL 的 DATETIME 数据类型都存储为 UTC(无时区信息)。 但是,您可能已将时间戳保存在数据库中,而未针对时区进行调整。如果所有数据都在 CEST(CET 夏令时间)中输入,您可以快速调整。

    PHP 有一些 timezone features 可以帮助您。

    我的建议是您 1) 为时区调整数据库中的时间戳,2) 将 JSON 数据输出为 UTC,3) 将其调整为用户的当前时区。

    【讨论】:

      猜你喜欢
      • 2015-06-25
      • 1970-01-01
      • 2010-10-09
      • 2012-11-23
      • 1970-01-01
      • 2011-07-15
      • 2021-12-24
      • 2011-11-12
      • 2016-10-15
      相关资源
      最近更新 更多