无法从 HH:mm:ss.SSS'Z' 转换为 HH:MM 格式 Java
Not able to convert from HH:mm:ss.SSS'Z' to HH:MM format Java
我正在尝试将 Java
格式转换为 HH:MM 格式
这是我的代码
String date = "18:30:00.000Z";
try {
ZonedDateTime parsed = ZonedDateTime.parse(date);
ZonedDateTime z = parsed.withZoneSameInstant(ZoneId.systemDefault());
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH);
System.out.println(fmt.format(z));
} catch(Exception e) {
e.printStackTrace();
}
我的代码有什么问题吗
这里是例外
java.time.format.DateTimeParseException: Text '18:30:00.000Z' could not be parsed at index 0
您要解析的字符串不是日期和时间,而只是时间。所以类型 ZonedDateTime
不是适合在这里使用的类型。使用 OffsetTime
代替,这是一个 class 只保存一个时间(没有日期)。
String input = "18:30:00.000Z";
OffsetTime time = OffsetTime.parse(input);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("h:mm a");
String result = formatter.format(time);
System.out.println(result);
输出:
6:30 PM
我正在尝试将 Java
格式转换为 HH:MM 格式这是我的代码
String date = "18:30:00.000Z";
try {
ZonedDateTime parsed = ZonedDateTime.parse(date);
ZonedDateTime z = parsed.withZoneSameInstant(ZoneId.systemDefault());
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH);
System.out.println(fmt.format(z));
} catch(Exception e) {
e.printStackTrace();
}
我的代码有什么问题吗
这里是例外
java.time.format.DateTimeParseException: Text '18:30:00.000Z' could not be parsed at index 0
您要解析的字符串不是日期和时间,而只是时间。所以类型 ZonedDateTime
不是适合在这里使用的类型。使用 OffsetTime
代替,这是一个 class 只保存一个时间(没有日期)。
String input = "18:30:00.000Z";
OffsetTime time = OffsetTime.parse(input);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("h:mm a");
String result = formatter.format(time);
System.out.println(result);
输出:
6:30 PM