-1

我正在尝试在 Jenkins2021-10-14T18:12:20.578+00:00中解析以下日期,但出现错误Unparseable date: "2020-01-01T10:10:20.578+00:00"

这是我的代码,不知道我做错了什么:

Date myDate= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").parse("2020-01-01T10:10:20.578+00:00");

编辑:

感谢 Kaus,我发现我的日期格式不正确,应该是2020-01-01T10:10:20.578GMT+00:00

我从其他一些文件中得到这个日期。我可以将 + 替换为 GMT+,如下所示:

def myDate = "2020-01-01T10:10:20.578+00:00"
myDate = myDate.replaceAll("\\+", "GMT\\+")

如果我的日期是,我怎么能做同样的事情"2020-01-01T10:10:20.578-06:00" 以下是替换每个“-”

def myDate = "2020-01-01T10:10:20.578-06:00"
myDate = myDate.replaceAll("\\+", "GMT\\+").replaceAll("\\-", "GMT\\-")

输出:"2020GMT-01GMT-01T10:10:20.578GMT-06:00"

4

2 回答 2

1

那里缺少格林威治标准时间

Date myDate= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").parse("2020-01-01T10:10:20.578GMT+00:00");
于 2021-10-15T14:35:45.907 回答
1

用于XISO8601 时区,而不是ZRFC 822 时区。

(来自https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

import java.text.SimpleDateFormat

Date myDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX")
    .parse("2020-01-01T10:10:20.578+00:00")
于 2021-10-16T03:27:15.217 回答