Java 如何转换包含UTC时间的字符串,例如;193526“;(19:35:26)到当地时区?

Java 如何转换包含UTC时间的字符串,例如;193526“;(19:35:26)到当地时区?,java,android,datetime-format,Java,Android,Datetime Format,我正在写一个关于GPS的应用程序,我必须将从NMEA格式获得的UTC时间字符串转换为本地时间 字符串格式为“193526”,代表19:35:26 UTC(GMT)。 如何将其转换为本地时间,如“15:35:26 EDT”EDT时区在jdk中不存在。看 您可以通过以下方式进行转换: SimpleDateFormat formatUTC = new SimpleDateFormat("HHmmss"); formatUTC.setTimeZone(TimeZone.getTimeZo

我正在写一个关于GPS的应用程序,我必须将从NMEA格式获得的UTC时间字符串转换为本地时间

字符串格式为“193526”,代表19:35:26 UTC(GMT)。

如何将其转换为本地时间,如“15:35:26 EDT”

EDT
时区在jdk中不存在。看

您可以通过以下方式进行转换:

    SimpleDateFormat formatUTC = new SimpleDateFormat("HHmmss");
    formatUTC.setTimeZone(TimeZone.getTimeZone("UTC"));
    Date date = formatUTC.parse("193526");

    SimpleDateFormat formatEDT = new SimpleDateFormat("HH:mm:ss z");
    formatEDT.setTimeZone(TimeZone.getTimeZone("GMT-04:00"));
    System.out.println(formatEDT.format(date));
15:35:26 GMT-04:00


在java中使用时区已经在许多地方得到了广泛和反复的介绍。您是否尝试查找任何可以回答您问题的资源?如果是这样的话,展示你迄今为止所做的尝试。我会使用
EST
,不过是为了适应夏令时