SimpleDateFormat("yyyyMMddHH:mm:ss")在groovy上有问题

mac*_*liu 1 groovy datetime jenkins-pipeline

我在Jenkins管道中调用groovy脚本.

def start_time = new Date()
def sdf = new SimpleDateFormat("yyyyMMd??dHH:mm:ss")
println sdf.format(start_time)
Run Code Online (Sandbox Code Playgroud)

但我得到"20160817 1708:34:35",这一天输出两次.所以我用groovy在我的本地机器上测试它,我得到了相同的结果.

我错过了什么?

Mic*_*ter 7

我相信格式字符串中有非ASCII/Unicode字符.(当我将代码粘贴到Vim时,它们很清楚.)我删除了它们,这很好用:

import java.text.*

def start_time = new Date()
def sdf = new SimpleDateFormat("yyyyMMddHH:mm:ss")
println sdf.format(start_time)
Run Code Online (Sandbox Code Playgroud)


Rao*_*Rao 7

迈克尔是对的,问题中提供的文字存在问题.

顺便说一句,在groovy中,可以直接在Date对象上格式化而不使用SimpleDateFormat下面的内容并执行相同的操作:

println new Date().format?('yyyyMMddHH:mm:ss')
Run Code Online (Sandbox Code Playgroud)

产量

2016081711:04:17
Run Code Online (Sandbox Code Playgroud)