如何减去/添加日期

时间:2019-07-30 09:23:13

标签: scala date

我试图获取今天的日期,并在SCALA中找到前5天的日期列表。 例如,我必须从当前日期减去3天,然后将结果日期添加到列表中。

我该怎么做?

import scala.collection.mutable.ArrayBuffer
val dateFormatter = new java.text.SimpleDateFormat("yyyy-MM-dd")
var today_date = new  java.util.Date()
var today = dateFormatter.format(today_date) 

var lst_5_days = ArrayBuffer[String]()
for(i <- 1 to 5)
{
  val prev_day= /* method to get`enter code here` date for previous day 
                 (today - i days) */
  lst_5_days +=prev_day
}

1 个答案:

答案 0 :(得分:4)

您不应该使用java.util.Datejava.text.SimpleDateFormat,因为Java 8发布时,它们已被更新,更易于使用和不可变的替代品java.time.LocalDatejava.time.format.DateTimeFormatter所取代。

例如,LocalDate有一个非常方便的方法minusDays,您可以使用:

import java.time.LocalDate
import java.time.format.DateTimeFormatter

val now = LocalDate.now()
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")

val last5Days = (1 to 5).map(i => formatter.format(now.minusDays(i)))