【问题标题】:How to add or subtract n days from UTCTime?如何从 UTCTime 中增加或减少 n 天?
【发布时间】:2020-08-11 02:16:45
【问题描述】:

如何从 time 库中的 UTCTime 类型的值中添加/减去 n 天?

【问题讨论】:

    标签: haskell time


    【解决方案1】:
    import Data.Time
    
    addDaysUtcTime :: UTCTime -> Integer -> UTCTime
    addDaysUtcTime t x = addUTCTime (nominalDay * (fromIntegral x)) t
    
    

    import Data.Time
    
    addDaysUtcTime :: UTCTime -> Integer -> UTCTime
    addDaysUtcTime t x = t { utctDay = (addDays x (utctDay t))}
    

    【讨论】:

    • 60*60*24nominalDay 将是 NominalDiffTime 类型的合适值。
    • 谢谢!我认为尽管NominalDiffTime 不会考虑夏令时之类的事情,所以也许这并不理想?
    • DST 不影响 UTC 时间。也许您正在考虑闰秒?我不知道那里的答案,但我通常会发现,当我关心它时,time 包的文档非常明确地说明会发生什么。
    • 哎呀,完全忘记了它与UTC有关。我想我在考虑时区类型Localtime
    猜你喜欢
    • 2017-06-03
    • 1970-01-01
    • 2015-12-03
    • 2011-04-13
    • 1970-01-01
    • 2021-11-21
    • 2020-08-01
    • 1970-01-01
    • 2011-05-14
    相关资源
    最近更新 更多