首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >斯利克比较Rep[Option[ZonedDateTime]]和ZonedDateTime

斯利克比较Rep[Option[ZonedDateTime]]和ZonedDateTime
EN

Stack Overflow用户
提问于 2018-10-07 23:57:49
回答 1查看 553关注 0票数 0

我试图将ZonedDateTime与以下代码进行比较:

代码语言:javascript
复制
val now = ZonedDateTime.now()

val query = for {
  x <- xTable.query if x === id
  if x.starts.isAfter(now) // Doesn't work
} yield x

...slick.run(query.result)

但是我似乎无法访问.isAfter,因为x.startsRep[Option[...]],有更好的方法来实现我想要实现的目标吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-08 02:36:44

从您所描述的情况来看,可能缺少一个合适的列类型映射。对于date/time 图式,Slick只支持基于JDBC的java.sql.{Date, Time, Timestamp}。在任何使用ZonedDateTime的地方,都需要一个隐式映射器。映射器应该如下所示:

代码语言:javascript
复制
import java.sql.Timestamp
import java.time.ZonedDateTime
import scala.slick.driver.JdbcProfile.MappedColumnType

implicit val zonedDateTimeMapper = MappedColumnType.base[ZonedDateTime, Timestamp](
  zdt => Timestamp.from(zdt.toInstant),
  ts => ZonedDateTime.ofInstant(ts.toInstant, ZoneOffset.UTC)
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52693904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档