【问题标题】:javascript luxon gmt time to localejavascript luxon GMT 时间到语言环境
【发布时间】:2019-03-22 12:47:08
【问题描述】:

我在 GMT 区域的数据库中有一个时间戳。如何根据用户时区显示时间?目前我有这样的时间

return luxon.DateTime.fromSQL(created_at).setZone('local');

它返回 gtm 中的时间。

【问题讨论】:

    标签: javascript luxon


    【解决方案1】:

    处理它的更简洁的方法是告诉解析器时间以 GMT 表示:

    DateTime.fromSQL(current_time, {zone: "utc"}).toLocal()
    

    为了进一步解释这一点,您原来的情况是时间字符串被解释为 GMT 时间,但 Luxon 不知道这一点。因此,它将字符串解释为本地时间,这与您所说的偏移时间不同。但是,如果 Luxon 知道“这是用 GMT 表示的”,那么它将首先获得正确的时间。

    【讨论】:

      【解决方案2】:

      使用此方法解决的问题:

      let offset = - (new Date().getTimezoneOffset() / 60);
      return luxon.DateTime.fromSQL(created_at).plus({hours: offset}).toLocaleString(luxon.DateTime.TIME_SIMPLE)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-11
        • 1970-01-01
        • 2021-09-26
        • 2020-07-10
        • 2015-04-20
        • 2016-03-29
        • 2020-06-19
        相关资源
        最近更新 更多