在 Scala 中将日期字符串转换为日期
Convert Date String to Day in Scala
我有一个日期字符串
val ts = "2020-02-05 15:12:01-0800"
我需要获取到一周最后一天的值。即 2020-02-08
这是我到目前为止使用 SimpleDateFormat 所做的
val DATE_FORMAT = "yyyy-MM-dd HH:mm:ssZ"
val ts = "2020-02-05 15:12:01-0800"
val date = df.parse(ts)
val Cal =Calendar.getInstance()
Cal.set (Calendar.DAY_OF_WEEK, Calendar.SATURDAY)
Cal.setTime(date)
val LastDayOfWeek=DATE_FORMAT.format (Cal.getTime ())
但是它返回“2020-02-05 15:12:01-0800”
SimpleDate 相当陈旧和过时。这是当前 java.time.LocalDate
库的解决方案。
import java.time.{LocalDate,DayOfWeek}
val ts = "2020-02-05 15:12:01-0800"
val ld = LocalDate.parse(ts take 10)
val saturday = ld.plusDays(DayOfWeek.SATURDAY.getValue()
- ld.getDayOfWeek().getValue())
//saturday: java.time.LocalDate = 2020-02-08
请注意,如果 ts
日期是星期日,则 saturday
将是前一天。
我有一个日期字符串
val ts = "2020-02-05 15:12:01-0800"
我需要获取到一周最后一天的值。即 2020-02-08
这是我到目前为止使用 SimpleDateFormat 所做的
val DATE_FORMAT = "yyyy-MM-dd HH:mm:ssZ"
val ts = "2020-02-05 15:12:01-0800"
val date = df.parse(ts)
val Cal =Calendar.getInstance()
Cal.set (Calendar.DAY_OF_WEEK, Calendar.SATURDAY)
Cal.setTime(date)
val LastDayOfWeek=DATE_FORMAT.format (Cal.getTime ())
但是它返回“2020-02-05 15:12:01-0800”
SimpleDate 相当陈旧和过时。这是当前 java.time.LocalDate
库的解决方案。
import java.time.{LocalDate,DayOfWeek}
val ts = "2020-02-05 15:12:01-0800"
val ld = LocalDate.parse(ts take 10)
val saturday = ld.plusDays(DayOfWeek.SATURDAY.getValue()
- ld.getDayOfWeek().getValue())
//saturday: java.time.LocalDate = 2020-02-08
请注意,如果 ts
日期是星期日,则 saturday
将是前一天。