Dygraphs带时区的时间戳

时间:2014-07-22 11:26:32

标签: timezone dygraphs

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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