将字符串转换为 ZonedDateTime

Convert String to ZonedDateTime

我尝试将字符串转换为 ZonedDateTime。 这是我的代码:

String startTime = "Wed Mar 21 2018 08:00:00 GMT 0330 (IRST)";
String endTime = "Fri Mar 23 2018 08:00:00 GMT 0430 (IRDT)";
ZonedDateTime startTimeDate = ZonedDateTime.parse(startTime);
ZonedDateTime endTimeDate = ZonedDateTime.parse(endTime);

和错误:

java.time.format.DateTimeParseException: Text 'Wed Mar 21 2018 08:00:00 GMT 0330 (IRST)' could not be parsed at index 0

您正在使用 parse method 的默认版本,它具有 2007-12-03T10:15:30+01:00[Europe/Paris] 的默认格式化程序。

您需要传递一个正确的 DateTimeFormatter. To me the RFC_1123_DATE_TIME 似乎最接近您的格式,但不匹配,因此您需要创建自己的格式。