如何转换为格林尼治标准时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何转换为格林尼治标准时间相关的知识,希望对你有一定的参考价值。

我有这样的字符串日期

2020-05-19 10:46:09 this is Asia/Jakarta time

我想转换成格林尼治标准时间,在这里输入我的代码

String created = New_tradingHistory_trade.getCreated_at();
                    Date date1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(created);
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                    sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
                    String CreatedGMT = sdf.format(date1);
                    System.out.print(CreatedGMT);

我总是喜欢2020-05-19 10:46:09 2020-05-19 10:46:09我的问题是如何将我的日期转换为格林尼治标准时间?

答案

您应该使用java-8 date time api,并停止使用旧版DateSimpleDateFormat

  1. 您输入的字符串位于本地日期时间
  2. 因此使用LocalDateTime将其解析为DateTimeFormatter

String input = "2020-05-19 10:46:09";

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

LocalDateTime localDateTime = LocalDateTime.parse(input,formatter);

ZonedDateTime zoneDateTime = localDateTime.atZone(ZoneId.of("Asia/Jakarta"));

System.out.println(zoneDateTime);

ZonedDateTime gmtDateTime = zoneDateTime.withZoneSameInstant(ZoneOffset.UTC);

System.out.println(gmtDateTime);

以上是关于如何转换为格林尼治标准时间的主要内容,如果未能解决你的问题,请参考以下文章

如何获得格林威治标准时间的当前时间? [复制]

中国标准时间(如:2019-08-20 17:43)转换成格林尼治时间方式方法

格林尼治标准时间对照表(格林尼治标准时间)

如何将 GMT 时间转换为 IST?

如何在R中的数据框中转换日期/时间列

获取格林威治标准时间