Yesod Persistent - 如何将 Day 与 UTCTime 进行比较? (如何转换它们?)

Posted

技术标签:

【中文标题】Yesod Persistent - 如何将 Day 与 UTCTime 进行比较? (如何转换它们?)【英文标题】:Yesod Persistent - How to compare Day to UTCTime? (How to convert them?) 【发布时间】:2016-04-30 21:40:09 【问题描述】:

我有一个UTCTime 类型的值表示当前时间,还有一个Day 类型的值我想知道它是否大于或等于当前时间。

【问题讨论】:

【参考方案1】:

UTCTimeDay (utctDay) 和自午夜以来的秒数 (utctDayTime) 组成。这是一个 GHCi 会话,展示了如何访问这一天:

ghci > import Data.Time
ghci > time <- getCurrentTime
ghci > :t time
time :: UTCTime
ghci > utctDay time
2016-04-30
ghci > :t utctDay time
utctDay time :: Day

一旦您可以访问Day,您就可以使用标准比较函数(&gt;&gt;===&lt;&lt;=):

ghci > t1 <- getCurrentTime
ghci > t2 <- getCurrentTime
ghci > t1
2016-04-30 21:59:06.808488 UTC
ghci > t2
2016-04-30 21:59:11.920389 UTC
ghci > (utctDay t1) >= (utctDay t2)
True

您可能还想查看the Haddocks for UTCTime

【讨论】:

以上是关于Yesod Persistent - 如何将 Day 与 UTCTime 进行比较? (如何转换它们?)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Yesod / Persistent 中正确使用 runDB

如何使用 Yesod/Persistent 创建外键约束?

如何使用 Yesod/Persistent 访问两个不同的数据库服务器?

如何从 Yesod 的 Persistent 中获取原始键值?

“类型变量不明确”在 Haskell Yesod 中使用 Persistent

退出代码 11 安装 Persistent (Yesod)