Java 如何格式化groovy日期时间&x2B;0000
我的API应用程序不允许此日期时间格式,其后面有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
+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是原始问题的作者,这不是他/她的自我回答,而是他/她自己要求澄清。