以下是我来自休假请求的响应代码
"createdDate" : "2012-02-27T18:10:28-0500",
"isDeleted" : "indeterminate",
"modifiedDate" : "2018-07-18T01:40:05-0400"
我正在尝试将格式为2018-07-18T01:40:05-0400
的时间戳转换为MM/dd/YYYY hh:mm
-0400
表示时区
谁能告诉我如何将这种类型的时间戳转换为所需格式?
答案 0 :(得分:2)
如果您使用的是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'))
答案 1 :(得分:1)
如果我正确理解问题,则应该准备输入时间戳并使用Date.parse
。
def input = '2018-07-18T01:40:05-0400'
pdata = input.replace("T", " ").substring(0, input.replace("T", " ").length() - 5)
def out = Date.parse("yyyy-MM-dd hh:mm:ss", pdata).format("MM/dd/yyyy hh:mm")
/* Output
println "Input date: " + input
println "Parse date: " + out
Input date: 2018-07-18T01:40:05-0400
Parse date: 07/18/2018 01:40
*/