将字符串转换为 LocalDateTime

Lec*_*ico 7 datetime android date kotlin

我有以下字符串:

18/07/2019 16:20

我尝试LocalDateTime使用以下代码将此字符串转换为:

val stringDate = expiration_button.text.toString()
val date = LocalDateTime.parse(stringDate, DateTimeFormatter.ofPattern("dd/MM/yyyy hh:mm")).toString()
Run Code Online (Sandbox Code Playgroud)

java.time.format.DateTimeParseException:无法解析文本“18/07/2019 04:30:00”:无法从 TemporalAccessor 获取 LocalDateTime

我缺少什么?

Ale*_*lex 5

我想这会回答你的问题:

val stringDate = expiration_button.text.toString()
val formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy hh:mm");
val dt = LocalDate.parse(stringDate, formatter);
Run Code Online (Sandbox Code Playgroud)

编辑1:

它可能会崩溃,因为您使用的是 12 小时制,而不是 24 小时制。

使用大写 H 将小时更改为 24 小时模式应该可以修复它:

val dateTime = LocalDateTime.parse(stringDate, DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm"));
Run Code Online (Sandbox Code Playgroud)