首页 > 解决方案 > Groovy - 无法将日期字符串“2018-07-18T01:40:05-0400”转换为所需格式

问题描述

以下是我的休息请求的响应代码

"createdDate" : "2012-02-27T18:10:28-0500",
"isDeleted" : "indeterminate",
"modifiedDate" : "2018-07-18T01:40:05-0400"

我正在尝试将格式的时间戳转换2018-07-18T01:40:05-0400MM/dd/YYYY hh:mm

-0400表示时区

谁能告诉我如何将这种类型的时间戳转换为所需的格式?

标签: groovy

解决方案


如果您使用的是 Java 8 和 Groovy 2.5,

java.time.OffsetDateTime.parse('2018-07-18T01:40:05-0400', "yyyy-MM-dd'T'HH:mm:ssXX")
                        .format('MM/dd/yyyy hh:mm')

在 Java 8 和更早版本的 Groovy 上,

import java.time.OffsetDateTime
import java.time.format.DateTimeFormatter

OffsetDateTime.parse('2018-07-18T01:40:05-0400', DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXX"))
              .format(DateTimeFormatter.ofPattern('MM/dd/yyyy hh:mm'))

推荐阅读