Scala - 如何使用 ISODateTimeFormat 将 DateTime 解析为自定义格式?
Scala - How to parse DateTime to a custom format with ISODateTimeFormat?
我想将带有 ISODateTimeFormat
的 joda.time.DateTime
解析为以下格式 yyyy-MM-dd HH:mm:ss
,其中 HH:mm:ss
被截断为全零。我已经使用 withTimeAtStartOfDay 部分实现了目标。
下面的代码导致 2019-11-28T00:00:00.000+03:00
而不是 2019-11-28 00:00:00
val dateTime: DateTime = new DateTime().minusDays(1).withTimeAtStartOfDay
我是否更正了 ISODateTimeFormat
无法实现这一点?
我尝试使用 DateTimeFormat
并且它有效但想了解是否有更好的方法。
val timeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")
println(dateTime.toString(timeFormatter)) // 2019-11-28 00:00:00
首先,您真的不应该再使用 JodaTime,只需使用 java.time
中的 类(JodaTime 已集成到 Java 8)。
其次,您基本上只想处理日期。然后你可以简单地使用 LocalDate
并以你的格式输出一个固定的文本部分,因为你知道它总是 "00:00:00":
import java.time._
import java.time.format._
val yesterday = LocalDate.now.minusDays(1)
println(DateTimeFormatter.ISO_LOCAL_DATE.format(yesterday) + " 00:00:00")
我想将带有 ISODateTimeFormat
的 joda.time.DateTime
解析为以下格式 yyyy-MM-dd HH:mm:ss
,其中 HH:mm:ss
被截断为全零。我已经使用 withTimeAtStartOfDay 部分实现了目标。
下面的代码导致 2019-11-28T00:00:00.000+03:00
而不是 2019-11-28 00:00:00
val dateTime: DateTime = new DateTime().minusDays(1).withTimeAtStartOfDay
我是否更正了 ISODateTimeFormat
无法实现这一点?
我尝试使用 DateTimeFormat
并且它有效但想了解是否有更好的方法。
val timeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")
println(dateTime.toString(timeFormatter)) // 2019-11-28 00:00:00
首先,您真的不应该再使用 JodaTime,只需使用 java.time
中的 类(JodaTime 已集成到 Java 8)。
其次,您基本上只想处理日期。然后你可以简单地使用 LocalDate
并以你的格式输出一个固定的文本部分,因为你知道它总是 "00:00:00":
import java.time._
import java.time.format._
val yesterday = LocalDate.now.minusDays(1)
println(DateTimeFormatter.ISO_LOCAL_DATE.format(yesterday) + " 00:00:00")