如何修改日期以满足正确的 groovy 标准?

How to modify a date to meet correct groovy standard?

我试图在 Jenkins 中解析以下日期 2021-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"

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

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

对 ISO8601 时区使用 X,而不是对 RFC 822 时区使用 Z

(来自 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")