2016-08-17 3 views
0

私はJenkinsパイプラインでGroovyスクリプトを呼び出します。SimpleDateFormat( "yyyyMMddHH:mm:ss")はgroovyに問題があります

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

「20160817 1708:34:35」と表示されますが、その日は2回出力されています。 ローカルマシンでGroovyを使ってテストします。同じ結果が得られます。

私が見逃したことはありますか?

+0

はい、 groovyで正しい結果を得る。 別のファイルを入力します。しかし、私は非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

マイケルは右である、疑問に提供されたテキストに問題があります。ところで

は、グルーヴィーで、一つは直接以下のようなSimpleDateFormatを使用せずにDateオブジェクトにフォーマットし、同じことをすることができます:最後のIで

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

出力

2016081711:04:17