Kotlin Android / Java String DateTime Format, API21

2022-09-01 04:54:27

我想将字符串日期时间转换为格式化字符串。例如,“2018-12-14T09:55:00”到“14.12.2018 09:55”作为字符串 => Textview.text

我如何使用kotlin或java for android来做到这一点?


答案 1

解析它,然后格式化它:LocalDateTime

LocalDateTime localDateTime = LocalDateTime.parse("2018-12-14T09:55:00");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm");
String output = formatter.format(localDateTime);

如果这不适用于 api21,您可以使用:

SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
SimpleDateFormat formatter = new SimpleDateFormat("dd.MM.yyyy HH:mm");
String output = formatter.format(parser.parse("2018-12-14T09:55:00"));

或导入 ThreeTenABP。


答案 2

Kotlin API 级别 26 或更高版本:

val parsedDate = LocalDateTime.parse("2018-12-14T09:55:00", DateTimeFormatter.ISO_DATE_TIME)
val formattedDate = parsedDate.format(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm"))

低于 API 级别 26:

val parser =  SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss")
val formatter = SimpleDateFormat("dd.MM.yyyy HH:mm")
val formattedDate = formatter.format(parser.parse("2018-12-14T09:55:00"))