【问题标题】:How to parse timezone offset with seconds?如何用秒解析时区偏移量?
【发布时间】:2021-06-28 04:49:00
【问题描述】:

如何使用 Haskell 的 time 库解析时间戳“1920-12-24 17:23:24-06:36:36”?我试过“%Y-%m-%d %T%Q %z”,但由于%zdoes not accept seconds,它不起作用。

如何将这种风格的时间戳忠实地解析为ZonedTime

【问题讨论】:

  • 秒很重要吗?如果没有,只需放弃它。
  • 如果你想要秒你不能做%z:%S吗?我觉得这个问题需要更多关于你想做什么的信息才能得到回答。
  • @ÉamnOlive 我正在尝试fix hdbc-postgresql

标签: haskell time timezone-offset timestamp-with-timezone


【解决方案1】:

我认为这根本不可能。 TimeZone 类型定义为:

data TimeZone

TimeZone 是与 UTC 偏移的整数分钟数,以及 一个名字和一个“只为夏天”的标志。

Constructors
 TimeZone  
   timeZoneMinutes :: Int

与 UTC 偏移的分钟数。正数表示当地时间将晚于 UTC。

[...]

因此,在时区中表示秒是不可能的。

有可能有一些(我不知道的)国际标准,它规范时区,指出与 UTC 没有任何区别,它不是整分钟的倍数,因此任何带秒的时区都是无效的.

您最好的选择似乎是手动解析该字符串并在使用库解析时间值之前删除秒数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2021-12-05
    • 2019-08-31
    相关资源
    最近更新 更多