我试图获取今天的日期,并在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
}
答案 0 :(得分:4)
您不应该使用java.util.Date
或java.text.SimpleDateFormat
,因为Java 8发布时,它们已被更新,更易于使用和不可变的替代品java.time.LocalDate
和java.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)))