从 Scala 中的自定义日期返回 x 天的日期

ank*_*dua 4 scala apache-spark

我有一个20170501类型的日期键,它是YYYYmmdd格式。我们如何在 Scala 中从这个日期返回 x 天的日期?

这就是我在程序中的内容

val runDate = 20170501
Run Code Online (Sandbox Code Playgroud)

现在我想要一个日期,比如从这个日期起 30 天。

Ste*_*man 9

使用 Scala/JVM/Java 8...

scala> import java.time._
import java.time._

scala> import java.time.format._
import java.time.format._

scala> val formatter = DateTimeFormatter.ofPattern("yyyyMMdd")
formatter: java.time.format.DateTimeFormatter = Value(YearOfEra,4,19,EXCEEDS_PAD)Value(MonthOfYear,2)Value(DayOfMonth,2)

scala> val runDate = 20170501
runDate: Int = 20170501

scala> val runDay = LocalDate.parse(runDate.toString, formatter)
runDay: java.time.LocalDate = 2017-05-01

scala> val runDayMinus30 = runDay.minusDays(30)
runDayMinus30: java.time.LocalDate = 2017-04-01
Run Code Online (Sandbox Code Playgroud)