web-dev-qa-db-fra.com

Kotlin Android / Java String DateTime Format, API21

Je veux convertir la chaîne datetime en chaîne formatée. par exemple "2018-12-14T09: 55: 00" à "14.12.2018 09:55" comme String => Textview.text

comment puis-je faire cela avec kotlin ou Java pour Android?

6
withoutOne

Analysez-le dans LocalDateTime puis formatez-le:

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

Si cela ne fonctionne pas avec api21, vous pouvez utiliser:

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"));

ou importez ThreeTenABP.

14
孙兴斌

API Kotlin niveaux 26 ou supérieurs:

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

En dessous des niveaux d'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"))
5
arifng