неверное название месяца с SimpleDateFormat - PullRequest
4 голосов
/ 31 марта 2011

У меня проблема с этим небольшим фрагментом кода

SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");

String str = "2010-03-13 01:01:22";

Date date = sf.parse(str);

SimpleDateFormat f = new SimpleDateFormat("d MMM yyyy hh:mm aaa");

System.out.println(" Date " + f.format(date));   

Выход:

 Date 13 Jan 2010 01:01 AM

Код, кажется, в порядке, но все-таки я неправильно понимаю название месяца. Пожалуйста помоги !! Спасибо.

Ответы [ 2 ]

18 голосов
/ 31 марта 2011

Вы используете минуту вместо месяца в вашем паттерне. Должно быть:

yyyy-MM-dd HH:mm:ss
7 голосов
/ 31 марта 2011

mm обозначает минуту. Вы должны использовать MM при разборе месяца:

SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
...