2016-08-17 18 views
0

我在Jenkins管道中调用groovy脚本。SimpleDateFormat(“yyyyMMddHH:mm:ss”)在常规问题上有问题

def start_time = new Date() 
def sdf = new SimpleDateFormat("yyyyMMd‌​dHH:mm:ss") 
println sdf.format(start_time) 

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

我错过了什么?

+0

是的,最后我在常规中获得正确的结果。 我输入另一个文件。但我不是原因是非ASCII/Unicode字符。 感谢您的调查。 –

+1

macking_liu,你没有接受任何答案。不知道如何[接受答案](http://stackoverflow.com/tour)? – Rao

回答

7

我相信格式字符串中有非ASCII/Unicode字符。 (他们很清楚,当我将代码粘贴到Vim中)。我已删除他们,这工作得很好:

import java.text.* 

def start_time = new Date() 
def sdf = new SimpleDateFormat("yyyyMMddHH:mm:ss") 
println sdf.format(start_time) 
5

迈克尔是正确的,有一个在这个问题提供的文本问题。

顺便说一句,在Groovy中,一个可以直接在Date对象的格式,而无需使用SimpleDateFormat像下面并执行相同的:

println new Date().format​('yyyyMMddHH:mm:ss') 

输出

2016081711:04:17