将本地日期时间转换为 UTC 格式

时间:2021-01-20 14:41:27

标签: android kotlin

我想在 android 中将此 01/20/2021 20:10:14 转换为这种格式 yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。 目前我正在使用函数,但是当我转换为本地格式时,我没有获得原始时间

let onClick;
let onSelect;
onSelect = () => onRate(i + 1);
onClick = onSelect;

1 个答案:

答案 0 :(得分:1)

您应该对日期、时间等使用现代 java.time API。

首先我们需要格式化输入字符串。如问题中的注释所述,正确格式化输入日期字符串需要区域信息。

这给了我们一个 TemporalAccessor 对象。现在,我们需要将此对象转换为 Instant 类的对象。 Instant 对象始终被视为处于 UTC。

fun convertDate (date : String) : String {
    val formatter = DateTimeFormatter
        .ofPattern("MM/dd/yyyy HH:mm:ss")
        .withZone(ZoneId.systemDefault())

    val instant = Instant.from(formatter.format(date))
    return instant.toString()
}
相关问题