首页 > 解决方案 > 如何在Java中将“2020-08-07T16:07:13.337248Z”中的UTC日期字符串转换为“MM-dd-yyyy hh:mm”

问题描述

我有一个字符串,它是以 UTC "2020-08-07T16:07:13.337248Z" 表示的日期时间,我想在 Java 中将其转换为格式为 "MM-dd-yyyy hh:mm" 的 EST。谁能帮我 ?

标签: javadatetimetimezonedatetime-format

解决方案


尝试这个。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

String timeStr = "2020-08-07T16:07:13.337248Z"; 
String format = "MM-dd-yyyy hh:mm a";

ZonedDateTime zdt = ZonedDateTime
    .parse(timeStr,DateTimeFormatter.ISO_DATE_TIME.withZone(ZoneId.of("GMT-5")));

如果您想允许,Daylight Savings Time请执行以下操作:

ZonedDateTime zdt = ZonedDateTime.parse(timeStr, 
  DateTimeFormatter.ISO_DATE_TIME.withZone(ZoneId.of("EST5EDT")));
        
                
System.out.println(ldt.format(DateTimeFormatter.ofPattern(format)));

印刷

08-07-2020 11:07 AM

我以ora的格式添加了。如果你想在输出中看到,那么在.ampmEST'EST'a


推荐阅读