Scala:两个日期之间的差异,以月为单位

时间:2018-05-23 09:34:27

标签: java scala java-time

我有两个String变量,分别包含值"201703""201506",即值的格式为"yyyyMM",但类型为String的变量。我想使用Scala和JDK 8找出这两个日期之间的差异。

示例输入:

val x = "201506"
val y = "201703"

期望的输出:

21    

1 个答案:

答案 0 :(得分:4)

使用Java Time可以轻松完成。

  import java.time.YearMonth
  import java.time.format.DateTimeFormatter
  import java.time.temporal.ChronoUnit._

  val date1 = "201506"
  val date2 = "201703"

  val formatter = DateTimeFormatter.ofPattern("yyyyMM")

  val ym1 = YearMonth.parse(date1, formatter)
  val ym2 = YearMonth.parse(date2, formatter)

  val months = ym1.until(ym2, MONTHS)