在 Android 中将时区从 CEST TIME 转换为 UTC

Convert timezone from CEST TIME to UTC in Android

我正在 Android studio 中使用 Api 级别 21 构建应用程序。

我必须从 CEST TIME 转换日期 |格林威治标准时间 | UTC 时间 CET。

这是格式时间。

SimpleDateFormat utcFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
String dateToConvert = "2020-05-26T17:50:50.456";

这个时间是CEST时区格式,我想转换成UTC时间。

到 "convert" 特定时区的日期,在格式化 Date 值时指定时区。

在以下示例中,为输入格式和输出格式明确指定了时区,因此该示例不依赖于设备的默认时区 运行 代码。如果您想使用默认时区,当然可以不指定输入时区。

TimeZone centralEurope = TimeZone.getTimeZone("Europe/Paris");
TimeZone UTC = TimeZone.getTimeZone("UTC");

SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
inputFormat.setTimeZone(centralEurope);

SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
outputFormat.setTimeZone(UTC);

String dateToConvert = "2020-05-26T17:50:50.456";
Date date = inputFormat.parse(dateToConvert);
System.out.println(outputFormat.format(date));

输出

2020-05-26T15:50:50.456