Java 将Scala并发持续时间添加到DateTime
如何将Java 将Scala并发持续时间添加到DateTime,java,scala,datetime,Java,Scala,Datetime,如何将scala.concurrent.Duration添加到一些Java/scala时间表示中,以获得未来/过去的时间 我非常喜欢scalaDuration如何将方法添加到整数中(例如10秒),因此我尝试执行以下形式的操作: import java.time.LocalDateTime val futurePoint: LocalDateTime = LocalDateTime.now + (10 Seconds) 我不希望像建议的那样使用其他库,我正试图坚持使用Java/Scala语言库
scala.concurrent.Duration
添加到一些Java/scala时间表示中,以获得未来/过去的时间
我非常喜欢scalaDuration
如何将方法添加到整数中(例如10秒
),因此我尝试执行以下形式的操作:
import java.time.LocalDateTime
val futurePoint: LocalDateTime = LocalDateTime.now + (10 Seconds)
我不希望像建议的那样使用其他库,我正试图坚持使用Java/Scala语言库。您可以使用隐式类来实现这一点,隐式类将方法添加到
LocalDateTime
:
import java.time.LocalDateTime
import java.time.{Duration => JDuration}
import scala.concurrent.duration._
object M {
def main(args: Array[String]): Unit = {
val futurePoint: LocalDateTime = LocalDateTime.now + (10 seconds)
println(futurePoint)
}
implicit class RichDateTime(val localDateTime: LocalDateTime) extends AnyVal {
def +(duration: Duration): LocalDateTime = {
localDateTime.plus(JDuration.ofMillis(duration.toMillis))
}
}
}
现在您可以运行以下命令(警告是因为使用了中缀符号):
scala> LocalDateTime.now + (1 minute)
res15: java.time.LocalDateTime = 2016-10-22T16:44:46.787