Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在groovy脚本中格式化日期_Groovy - Fatal编程技术网

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

如何在groovy脚本中格式化日期,groovy,Groovy,嗨,我有一个日期格式,我从我的Jira Sprint环境2019-03-29T06:56:00.000-04:00获得 我正在使用groovy脚本 我曾尝试使用多种格式制作类似的格式,如上面所述。 但是做不到。 以下是我尝试过的解决方案 一,-- 解决方案1仅打印文本 2-- 这个正在印刷 Printing Current time stamp date : Thu Sep 26 08:00:35 EDT 2019" 有人能帮我吗?所以,我们的目标是将日期格式化 2019-03-29T06:5

嗨,我有一个日期格式,我从我的Jira Sprint环境2019-03-29T06:56:00.000-04:00获得

我正在使用groovy脚本

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

一,--

解决方案1仅打印文本

2--

这个正在印刷

Printing Current time stamp date : Thu Sep 26 08:00:35 EDT 2019"

有人能帮我吗?

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

2019-03-29T06:56:00.000-04:00
以下代码使用时区GMT-4进行格式化

def now=new Date().format("yyyy-MM-dd'T'HH:mm:ss.SSSXXX",TimeZone.getTimeZone('GMT-4'))
println now
印刷品

2019-09-26T16:33:18.462-04:00
请注意,变量
now
将包含带格式化日期的
String

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


考虑到您已经有了Java8或更高版本的底层,您所需要的只是

OffsetDateTime.now(ZoneId.systemDefault()).toString()
在我的时区(欧洲/哥本哈根),我刚刚

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

如果您的默认时区是美国/蒙特利尔或美国/纽约,只要夏季时间()有效,您将得到偏移量为-04:00的时间,然后是-05:00

您可以轻松地解析

OffsetDateTime.parse( "2019-09-27T21:46:53.336204+02:00" ) 

看看这个。

println now.format(“yyyyy-MM-dd'T'HH:MM:ss'Z',TimeZone.getTimeZone('UTC'))
对我来说很好,可以打印
2019-09-26T15:57:40Z
我想你刚刚忘记给变量赋值了:
def nowStr=now.format(…)
,但我不知道为什么它对我这样工作?“打印当前时间戳日期:2019年9月26日星期四08:00:35 EDT”我想这样打印..与我的冲刺相关的结束日期是:“2019-03-29T06:56:00.000-04:00”好的,让我试试你的解决方案Heyy@daggett我可以看到结果,但你能帮助格式化这种类型的结果吗“2019-03-29T06:56:00.000-04:00”“仅供参考,像,
java.text.SimpleDateFormat
这样非常麻烦的日期时间类现在被java 8和更高版本中内置的类所取代。
OffsetDateTime.now(ZoneId.systemDefault()).toString()
OffsetDateTime.parse( "2019-09-27T21:46:53.336204+02:00" ) 
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'