I want to convert in ZonedDateTime
. How can I recognise pattern to pass in DateTimeFormatter.ofPattern(????????)
.
val string = "May 9, 2020 8:09:03 PM"
private fun getFormatDate(date: String): ZonedDateTime {
val dateTimeFormatter = DateTimeFormatter.ofPattern(????????)
return ZonedDateTime.parse(date, dateTimeFormatter)
}
Many Thanks
CodePudding user response:
You can do:
private fun getFormatDate(date: String): ZonedDateTime {
val dateTimeFormatter =
DateTimeFormatter
.ofPattern("MMM d, yyyy h:mm:ss a")
.withZone(ZoneId.systemDefault()) // or some other zone that you would like to use
.withLocale(Locale.ENGLISH)
return ZonedDateTime.parse(date, dateTimeFormatter)
}
Note that it is important that you do .withZone
which specifies the zone that the ZonedDateTime
is going to have, and also .withLocale
, so that the parser interprets things like "May" and "PM" in the correct language.