DateTime.now.hour(0) 如何在 nscala-time 中获取新的 DateTime?
How does DateTime.now.hour(0) get a new DateTime in nscala-time?
我使用来自 https://github.com/nscala-time/nscala-time 的 nsacala-time 包。
import com.github.nscala_time.time.Imports._
DateTime.now.hour(0)
res0: org.joda.time.DateTime = 2015-06-11T22:33:52.266+08:00
将获得一个新的 DateTime 对象。
但是在源代码中,https://github.com/nscala-time/nscala-time/blob/master/src/main/scala/com/github/nscala_time/time/RichDateTime.scala 没有带有签名 (Int) 的小时函数。
似乎 withHour(hour: Int) 完成了确切的工作。
到处都是隐式转换(a.k.a Black Magic,a.k.a 为什么每个人都讨厌 Scala)!!!
hour
returns一个org.joda.time.DateTime.Property
.
Import._
导入 RichDateTimeProperty
RichDateTimeProperty
定义了一个 apply
方法,默认情况下在 Scala 中做 something()
如果 something
不是一个方法被翻译成 something.apply()
,所以最后通过 2 个隐式转换调用此方法:
def apply(value: Int): DateTime = underlying.setCopy(value)
我使用来自 https://github.com/nscala-time/nscala-time 的 nsacala-time 包。
import com.github.nscala_time.time.Imports._
DateTime.now.hour(0)
res0: org.joda.time.DateTime = 2015-06-11T22:33:52.266+08:00
将获得一个新的 DateTime 对象。 但是在源代码中,https://github.com/nscala-time/nscala-time/blob/master/src/main/scala/com/github/nscala_time/time/RichDateTime.scala 没有带有签名 (Int) 的小时函数。 似乎 withHour(hour: Int) 完成了确切的工作。
到处都是隐式转换(a.k.a Black Magic,a.k.a 为什么每个人都讨厌 Scala)!!!
hour
returns一个org.joda.time.DateTime.Property
.Import._
导入RichDateTimeProperty
RichDateTimeProperty
定义了一个apply
方法,默认情况下在 Scala 中做something()
如果something
不是一个方法被翻译成something.apply()
,所以最后通过 2 个隐式转换调用此方法:def apply(value: Int): DateTime = underlying.setCopy(value)