Kotlin Android / Java String DateTime Format, API21 - PullRequest
0 голосов
/ 14 декабря 2018

Я хочу преобразовать строку datetime в форматированную строку.например, с «2018-12-14T09: 55: 00» до «14.12.2018 09:55» as String => Textview.text

как я могу сделать это с kotlin или java для android?

Ответы [ 2 ]

0 голосов
/ 12 июля 2019

API уровней Kotlin 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"))
0 голосов
/ 14 декабря 2018

Выполните синтаксический анализ до 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.

...