如何使用DateTimeFormatter或Java中的任何其他库将“ 2019-07-14T18:30:00.000Z”转换为“ 2021-09-26 04:30:00 PM”

时间:2019-09-26 11:36:51

标签: java datetime-format java.time

我不确定是否已回答此问题,但是谁能告诉我如何将“ 2019-07-14T18:30:00.000Z”转换为“ 2019-07-14 04:30:00” PM”使用DateTimeFormatter或Java中的任何其他库?基本上,输出日期时间应具有AM / PM格式的时间。

2 个答案:

答案 0 :(得分:3)

通过使用ZonedDateTime,您可以解析输入的UTC格式字符串,然后使用LocalDateTimeDateTimeFormatter格式化输出字符串。但是我不确定您在什么基础上输入和输出字符串中的天,月和时差

String date = "2019-07-14T18:30:00.000Z";

ZonedDateTime dateTime = ZonedDateTime.parse(date);

String res = dateTime.withZoneSameInstant(ZoneId.of("//desired zone id")).format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss a"));

答案 1 :(得分:-2)

尝试

String date = "2019-07-14T18:30:00.000Z";
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
Date parsedDate = inputFormat.parse(date);
String formattedDate = outputFormat.format(parsedDate);
System.out.println(formattedDate);