字符串到日期转换给出错误的日期

Uda*_*try 1 java date

我有字符串日期:

"01/15/2015 12:00 AM" 
Run Code Online (Sandbox Code Playgroud)

我希望"dd/MM/yyyy' 'HH:mm:ss"格式化一个日期对象.我怎样才能做到这一点?

我试过了:

String datetime1 ="01/15/2015 12:00 AM"
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm a");
Date datepicker1 = dateFormat.parse(datetime1);
Run Code Online (Sandbox Code Playgroud)

但这datepicker是2016年的约会.我不知道为什么会这样.

Mar*_*oun 6

将其更改为:

DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm a");
                                               ?
Run Code Online (Sandbox Code Playgroud)

你翻转MMdd..

我想这里发生的事情是Java认为你有15个月的时间,将它添加到2015年的"1"日,所以你得到了2016年..你离实现时间机器不远:)

  • 是不是很好,java如何选择世界上一个*格式错误原谅的地方?:)我的意思是,它无法解析"0"到一个整数,但愉快地突然与第15个月:D (2认同)