首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在groovy脚本中格式化日期?

如何在groovy脚本中格式化日期?
EN

Stack Overflow用户
提问于 2019-09-26 15:50:27
回答 3查看 3K关注 1票数 0

嗨,我有一个日期格式,我从我的吉拉斯普林特环境2019-03-29T06:56:00.000-04:00

我正在使用groovy脚本。

我尝试使用多种格式来制作类似于上面的格式。但做不到。以下是我尝试过的解决方案。

1 --

代码语言:javascript
运行
复制
`def sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
sdf.setTimeZone(TimeZone.getTimeZone("GMT"))
log.debug("Printing Current time stamp date : "+sdf)

解决方案1是只打印文本。

2

代码语言:javascript
运行
复制
def now = new Date()
println now.format("yyyy-MM-dd'T'HH:mm:ss'Z'",TimeZone.getTimeZone('UTC'))

这个是打印的

代码语言:javascript
运行
复制
Printing Current time stamp date : Thu Sep 26 08:00:35 EDT 2019"

有人能帮我吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-09-26 20:33:55

所以,我们的目标是有格式的日期

代码语言:javascript
运行
复制
2019-03-29T06:56:00.000-04:00

下面的代码使用时区GMT-4进行格式化。

代码语言:javascript
运行
复制
def now=new Date().format("yyyy-MM-dd'T'HH:mm:ss.SSSXXX",TimeZone.getTimeZone('GMT-4'))
println now

版画

代码语言:javascript
运行
复制
2019-09-26T16:33:18.462-04:00

请注意,变量now将包含带有格式化日期的String

检查所有可用的日期和时间模式:

https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html

票数 1
EN

Stack Overflow用户

发布于 2019-09-27 19:48:24

考虑到您在下面有一个Java 8或更高版本,您所需要的只是

代码语言:javascript
运行
复制
OffsetDateTime.now(ZoneId.systemDefault()).toString()

在我的时区(欧洲/哥本哈根)我刚刚

2019年-09-27T21:46:53.336204+02:00

如果您的默认时区是美国/蒙特利尔或美国/纽约,则只要夏季时间(夏令时)生效,您将在偏移-04:00获得时间,然后是-05:00。

你可以很容易地解析。

代码语言:javascript
运行
复制
OffsetDateTime.parse( "2019-09-27T21:46:53.336204+02:00" ) 

看这个运行在IdeOne.com上的代码

票数 1
EN

Stack Overflow用户

发布于 2020-12-09 13:46:36

代码语言:javascript
运行
复制
def currentDate = new Date()
def date = currentDate.format('yyyy-MM-dd')
def time = currentDate.format('HH:mm:ss.SSS')
def dateTime = date.toString() + 'T' + time.toString() + 'Z'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58120508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档