Проблема с форматом даты в Java

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

public static void main(String[] args) throws IOException, ParseException { 
 String strDate = "2011-01-12 07:50:00";
 DateFormat formatter = new SimpleDateFormat("yyyy-mm-dd H:M:S");
 Date date = formatter.parse(strDate);
 System.out.println("Date="+date);
}

Выход: Date = Thu Feb 12 07: 01: 00 EET 2015 Что я делаю неправильно?

4 ответа

Верхний регистр M - день указателя месяца. Нижний регистр m - это минута в час. Кроме того, вам нужен нижний регистр s, так как верхний регистр S - миллисекунды.

Тем не менее, вам нужно быть ближе к этому

yyyy-MM-dd HH:mm:ss


Ваш формат неправильный, см. SimpleDateFormat.

Вместо этого вы хотите,

String strDate = "2011-01-12 07:50:00";
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


Это может быть полезно использовать: Извлечь время с даты Строка

Измените "H: mm" на то, что вы хотите, чтобы формат был.


как ваш вопрос, который вы проверяете DateFormat formatter = new SimpleDateFormat ( "yyyy-mm-dd H: M: S" ); в этом заявлении "yyyy-MM-dd HH: mm: ss" - это SimpleDateFormate.

licensed under cc by-sa 3.0 with attribution.