Groovy日期代码产生意外输出

Anu*_*jKu 0 grails groovy date

为什么下面的代码产生这样的输出?

String oldDate = "2013-12-05 01:34:54.270"
Date date = Date.parse( 'yyyy-mm-dd hh:mm:ss', oldDate )
Output : Sat Jan 05 01:34:54 EST 2013
Run Code Online (Sandbox Code Playgroud)

什么时候应该简单地将12月5日作为输出中的日期?实际上在原始字符串中,无论我放入它的月份都会产生完全相同的输出.

Jos*_*ore 7

问题是您的日期格式不正确.毫米是MM的月份.所以它应该是:

String oldDate = "2013-12-05 01:34:54.270"
Date date = Date.parse( 'yyyy-MM-dd hh:mm:ss', oldDate )
Run Code Online (Sandbox Code Playgroud)

您可以从SimpleDateFormat的Java API文档中找到更多信息.

  • 当有人在JavaScript和Java/Groovy中工作时,大多数时候都会发生这种情况.@大演出 (2认同)