在 Elm 中如何确定用户本地时区的当前日期和时间?

w.b*_*ian 5 elm

我想在 elm 中获取一个代表用户本地日期和时间的日期。我查看了核心Date 模块以及elm-time包。

elm-time 包有一个ZonedDateTime,但TimeZone必须为其提供一个值,因此必须提前知道时区。

这个问题的核心是可靠地确定用户的时区。我想出的最好的解决方案是将用户的时区偏移量作为应用程序标志通过 javascript传递,并相应地修改 UTC 日期,这太幼稚而无法接受。

kjw*_*188 0

看起来Date.now任务将在结果中返回时区信息Date。但是,我没有找到任何实际Date允许访问的实际 api 函数。

不过,一旦有了Date,我就可以使用包getTimezoneOffset中的函数rluiten/elm-date-extra来获取原始分钟内的偏移量。您可以尝试从该偏移量中推断出时区。

或者,您可以toString返回Date并从中解析它。它最终成为这样的字符串:<Tue Jul 17 2018 23:45:19 GMT-0700 (PDT)>