在Scala中解析日期

在Scala中解析日期,scala,Scala,正在尝试使用此Scala代码分析日期字符串,2020-10-20 19:36:00 val DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") val date = LocalDate.parse("2020-10-20 19:36:00", DATE_FORMAT).atStartOfDay(ZoneId.systemDefault()) 但是当我println(date)2

正在尝试使用此Scala代码分析日期字符串,
2020-10-20 19:36:00

val DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
val date = LocalDate.parse("2020-10-20 19:36:00", DATE_FORMAT).atStartOfDay(ZoneId.systemDefault())
但是当我
println(date)
2020-10-20T00:00+02:00[欧洲/斯德哥尔摩]
只包括日期,不包括小时、分钟。。。我应该使用什么方法来获取包含日期字符串中所有信息的ZonedDateTime对象。

我使用这段代码解决了这个问题

    val DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault())
    val date = ZonedDateTime.parse(x,DATE_FORMAT)

我将ZoneId添加到模式中,从而可以使用ZoneDateTime.parse(…)方法

为什么这是错误的?这正是本地格式的一天的开始。请写出您期望的内容以及原因?我是否应该调用date.getMinute()并返回36而不是0?如果要保留小时和分钟,请不要使用atStartOfDay。A
LocalDate
没有小时或分钟,只有日期
atStartOfDay()
将它们以
00:00
的形式重新添加。如果要保留指定的小时/分钟,请使用
LocalDateTime.parse(…)