如何在android上将UTC日期转换为语言环境GMT时间

tuf*_*koi 5 android kotlin

我有这个日期字符串:2016-04-26T09:14:10.477Z这是UTC时区.我想将它转换为用户本地时区,所以如果它是GMT +02:00,我想要一个值为的日期2016-04-26T11:14:10.477Z(注意9变为11).

到目前为止我一直在使用它:

val sdf = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.getDefault())
val now = Date()

val limit = sdf.parse(coupon.usedAt)
Run Code Online (Sandbox Code Playgroud)

下面limit = Tue Apr 26 09:14:10 GMT+02:00 2016这是不正确的,我想.

那么我怎样才能正确转换它?谢谢!

编辑:我的问题不同于这一个,因为我需要使用的对象SimpleDateFormat,而不是Date一个

Pra*_*hra 10

试试这个

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date myDate = simpleDateFormat.parse(rawQuestion.getString("AskDateTime"));
Run Code Online (Sandbox Code Playgroud)


Ala*_*bib 7

问题是在 Kotlin 中,我看到所有答案都是用 Java 编写的,所以这里是 Kotlin 解决方案

val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ", Locale.getDefault())
formatter.timeZone = TimeZone.getTimeZone("UTC")
val result = formatter.parse(dateAsString)
Run Code Online (Sandbox Code Playgroud)