首页 > 解决方案 > 将字符串转换为 LocalDateTime

问题描述

我有以下字符串:

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()

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

我错过了什么?

标签: androiddatedatetimekotlin

解决方案


我想这会回答你的问题:

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

编辑1:

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

通过使用大写 H 将小时模式更改为 24 小时模式应该可以解决它:

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

推荐阅读