【问题标题】:Dygraphs timestamp with timezone带有时区的 Dygraphs 时间戳
【发布时间】:2014-07-22 11:26:32
【问题描述】:

我知道有很多关于 dygraphs 中的日期时间解析和 Javascript 问题的讨论。但是,我仍然有如何正确传递日期时间的问题。

我正在使用 dygraph 来显示数据(间隔 5 秒的点),拥有正确的日期时间至关重要。但是,如果我将 datetime 作为时间戳 (1401580800) 或 ISO 8601 (2014-06-01T00:00:00+00:00) 传递,我总是会将 datetime 修改为我的本地时间。

我的问题是,如何正确地将日期时间传递给 dygraph,这样日期时间就不会改变?

【问题讨论】:

    标签: timezone dygraphs


    【解决方案1】:

    Dygraphs 使用 Javascript 日期,根据您当地的时区显示(不幸的是,无法使用任意时区显示它们)。

    一种解决方案是修改数据 - 我在自己的工作中遇到了类似的问题,我制作了一个小帮助函数来制作假的 Javascript UTC 日期(基本上以一个实际上是错误时间的 Javascript 日期结束,但是在当地时间显示时显示正确)。这适用于我的应用程序,它使用时刻 (http://momentjs.com/) 来表示任何地方的日期,除非其他库要求使用 Javascript 的日期。

    另一个(可能更正确)的解决方案是修改 Dygraph 的函数以显示正确的内容,如本文的答案所示:Dygraph showing dates in an arbitrary Timezone

    【讨论】:

      【解决方案2】:

      JavaScript Date 对象将始终使用运行它的计算机的本地时间。如果您不想要这种行为,则需要使用其他东西。考虑使用 moment.js 之类的东西构建一个预先格式化的字符串,然后将字符串传递给 dygraphs 而不是日期。

      【讨论】:

      • 但是你确定 dygraphs 会理解这个字符串吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-18
      • 1970-01-01
      • 2021-09-22
      • 2016-11-11
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多