SimpleDateFormat()。format()改变了时间戳值?

时间:2013-06-27 18:03:40

标签: java groovy

我正在将时间戳从“1999-02-18 11:30:00.0”转换为“1999-02-18 11:30:00”。好吧,够简单。所以我使用以下内容:

newForm = new SimpleDateFormat('yyyy-mm-dd hh:mm:ss').format(oldForm)
println oldForm
println newForm

但是,打印输出显示时间戳的值已更改。

oldForm 1999-02-18 11:30:00.0
newForm 1999-30-18 11:30:00

这真让我发疯。这是一个错误还是什么?还有其他办法吗?我真的不想做字符串修剪

4 个答案:

答案 0 :(得分:7)

您应该使用(大写)MM一个月; mm是分钟,这里是30分钟。

Date Format Symbols

答案 1 :(得分:1)

mm不是月份。你应该这样做:

yyyy-MM-dd hh:mm:ss

答案 2 :(得分:1)

mm是分钟。 MM是月。全部修好了。

答案 3 :(得分:0)

您使用'mm'代替'MM'

mm是分钟

MM是月份

另请查看此页面了解更多详情

http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

无论何时处理SimpleDateFormat

,它都会对您有所帮助