我有一个表格,用户可以从键盘上输入日期和时间,当输入的时间部分为24:00时,LocalDateTime接受输入,将其转换为第二天.
我的代码
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
val INPUT_DATETIME_PATTERN = "yyyyMMddHHmm"
val formatter = DateTimeFormatter.ofPattern(INPUT_DATETIME_PATTERN)
val datetime = "202308102400"
val localdatetime = LocalDateTime.parse(datetime, formatter)
println(datetime)
println(localdatetime.format(formatter))
Expected result:
LocalDateTime.parse throws an exception.
According to documentation, HH stands for hour-of-day (0-23), so 2400 is invalid. Exception is also thrown for input string 202308102401.
Actual result:
202308110000 is printed. Checked in a scratch in Android Studio and in Kotlin playground (link)