在 Slick 3.1.1 中比较日期

Posted

技术标签:

【中文标题】在 Slick 3.1.1 中比较日期【英文标题】:Compare Dates in Slick 3.1.1 【发布时间】:2016-03-22 18:43:17 【问题描述】:

我正在尝试使用 slick 3.1 编写一个简单的过滤器查询。我成功地编写了转换为 Rep[Integer] 的整数类型。但是如何实现 java.util.Date 在过滤器查询中转换为 Rep[Date] 的比较?

val compareWithDate = new GregorianCalendar(2014, Calendar.FEBRUARY, 11).getTime()  // for example
val persons = TableQuery[Persons]
dbConfig.db.run(persons.filter(???))

【问题讨论】:

【参考方案1】:

您可以使用slick-joda-mapper https://github.com/tototoshi/slick-joda-mapper 并将您的类型转换为易于在过滤器中使用的 Rep[DateTime]

使用非常简单,只需要导入你需要的joda支持就可以使用这些类型的对象:

日期时间、即时、LocalDateTime、LocalDate、LocalTime、DateTimeZone

在你的桌子上你会有这样的东西:

def createdDt = column[DateTime]("created_dt")

看看这里的一些例子:https://github.com/tototoshi/slick-joda-mapper/blob/master/src/test/scala/com/github/tototoshi/slick/JodaSupportSpec.scala#L191

【讨论】:

以上是关于在 Slick 3.1.1 中比较日期的主要内容,如果未能解决你的问题,请参考以下文章

光滑的类定义:错误声明日期隐含值

在 CodeIgniter 中比较日期

如何在 PHP 中比较单个日期和多个日期

如何在 Laravel 中比较简单日期和日期时间?

Java中如何比较 String型 日期 ??

SQL语句中怎样比较两个日期的大小?