如何减去/添加一天至今

San*_*osh 1 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
}
Run Code Online (Sandbox Code Playgroud)

Krz*_*sik 5

自 Java 8 发布以来,您不应该使用java.util.Date也不使用java.text.SimpleDateFormat它们,它们被更新、更易于使用且不可变的替代品所取代: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)))
Run Code Online (Sandbox Code Playgroud)