使用joda时间玩Scala

时间:2017-08-07 23:52:15

标签: scala datetime jodatime

我写了下一个Scala函数:

def compareBeforeDateTimes(d1: String, d2: String)
{
    DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")
    DateTime dt1 = formatter.parseDateTime(d1)
    DateTime dt2 = formatter.parseDateTime(d2)
    return dt1 < dt2
}

在我的Scala代码开头,我写道:

import org.joda.time.{Period, DateTime}
import org.joda.time.format.{DateTimeFormat}
import org.joda.time.format.{DateTimeFormatter}

然而,如果我编译我的代码,我会收到错误:

value formatter is not a member of object org.joda.time.format.DateTimeFormatter

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这不是Scala中变量的声明方式。

应该是

val formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")

请注意,您可以在推断时关闭类型声明。如果你真的想要声明类型,它将是

val formatter: DateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")

这与函数参数中的语法相同(它们已经正确)。