gpt4 book ai didi

java - 巧妙地将 Rep[Option[ZonedDateTime]] 与 ZonedDateTime 进行比较

转载 作者:行者123 更新时间:2023-12-02 10:44:24 29 4
gpt4 key购买 nike

我正在尝试将 ZonedDateTime 与以下代码进行比较:

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[...]],有没有更好的方法来实现我想要实现的目标?

最佳答案

根据您的描述,听起来可能缺少合适的列类型映射。对于日期/时间 schemas ,Slick 仅支持基于 JDBC 的 java.sql.{Date, Time, Timestamp}。无论何时使用 ZonedDateTime,您都需要在范围内使用隐式映射器。映射器应如下所示:

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)
)

关于java - 巧妙地将 Rep[Option[ZonedDateTime]] 与 ZonedDateTime 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52693904/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com