Java 如何格式化groovy日期时间&x2B;0000

Java 如何格式化groovy日期时间&x2B;0000,java,groovy,Java,Groovy,我的API应用程序不允许此日期时间格式,其后面有+0000 我试着用代码格式化它 import java.text.SimpleDateFormat def pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" def input = "2019-02-28T02:54:32.123Z" def date = new SimpleDateFormat(pattern).parse(input) created(date) 但还是有结果 ... "crea

我的API应用程序不允许此日期时间格式,其后面有
+0000

我试着用代码格式化它

import java.text.SimpleDateFormat

def pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
def input = "2019-02-28T02:54:32.123Z"
def date = new SimpleDateFormat(pattern).parse(input)

created(date)
但还是有结果

...
    "created": "2019-02-28T09:54:32+0000",
...
如何以这种格式输出

...
    "created": "2019-02-28T09:54:32.123Z",
...

根据您的最新评论解释,您正在生成JSON,我建议这可能与

基本上,您是在尝试自定义日期的输出格式。如果您想这样做,您可以:

​import java.util.Date
import java.text.SimpleDateFormat 
import groovy.json.JsonBuilder

def pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" 
def input = "2019-02-28T02:54:32.123Z"   
def date = new SimpleDateFormat(pattern).parse(input)

// everything above here is from your original question

def pattern2 = "yyyy-MM-dd'T'HH:mm:ss'Z'" 
def sdf = new SimpleDateFormat(pattern2) 
sdf.setTimeZone(TimeZone.getTimeZone("GMT"))
def builder = new JsonBuilder()

builder {
  "created"(sdf.format(date)​)
}​
终于解决了

SimpleDateFormat sdf=新的SimpleDateFormat(“yyyy-MM-dd'T'HH:MM:ss.SSS'Z'))

String date=sdf.format(new date())
created(date)在做什么?我有jsonbuilder,然后created是json中的一个字段。输出为JSON为什么要将
2019-02-28T02:54:32.123Z
转换为
2019-02-28T09:54:32.123Z
?当两个字符串都指定它们位于UTC时区(即同一时区)时,为什么要将时间更改为7小时?不确定您的解决方案,我如何将原始代码中的def日期放置到您的位置。这并不能回答问题。若要评论或要求作者澄清,请在其帖子下方留下评论。-@ChathurangaChandrasekara用户12158726是原始问题的作者,这不是他/她的自我回答,而是他/她自己要求澄清。