如何在Android中将“yyyy-MM-dd'T'HH:mm:ssZZZZZ”转换为“yyyy-MM-dd”而不添加一天?

Wun*_*Wun 5 android date kotlin

我是用Android开发的

String 的日期是2020-04-23T23:59:59-04:00

并尝试使用以下函数将时间转换为2020-04-23

fun changeDateFormat(strDate:String):String {
    return SimpleDateFormat("yyyy-MM-dd").format(SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ").parse(strDate))
}
Run Code Online (Sandbox Code Playgroud)

但它显示2020-04-24

我错过了什么吗?提前致谢。

Nir*_*raj 1

这是实现它的方法

val dateInString = "2020-04-23T23:59:59-0400"
val ldt: LocalDateTime = LocalDateTime.parse(dateInString, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"))
val currentZoneId: ZoneId = ZoneId.systemDefault()
val currentZonedDateTime: ZonedDateTime = ldt.atZone(currentZoneId)
val format: DateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
val formattedDate = format.format(currentZonedDateTime)
println(formattedDate)
Run Code Online (Sandbox Code Playgroud)