Задать вопрос

Как правильно форматировать дату с помощью SimpleDateFormat в Java?

Подскажите, пожалуйста, где проблема? Дата почему-то не форматируется...

Нужен такой вывод:
Иванов Иван Иванович 31 12 1987
Вася 15 5 2013

А получается такой:
Иванов Иван Иванович Sat Jan 31 00:12:00 MSK 1987
Вася Tue Jan 15 00:05:00 MSK 2013

public class Solution {
    public static final List<Person> PEOPLE = new ArrayList<Person>();

    public static void main(String[] args) throws IOException, ParseException
    {
        BufferedReader br = new BufferedReader(new FileReader(args[0]));
        String line;

        while((line = br.readLine()) != null) {

            String string = line.replaceAll("[a-zA-Zа-яА-Я]+", "").trim();

            SimpleDateFormat format = new SimpleDateFormat("dd mm yyyy");
            Date date = format.parse(string);

            String name = line.replaceAll("[\\d]+", "");
            PEOPLE.add(new Person(name, date));
        }

        for (int i = 0; i < PEOPLE.size(); i++)
        {
            System.out.println(PEOPLE.get(i).getName() + " " + PEOPLE.get(i).getBirthday());
        }
    }

}
  • Вопрос задан
  • 264 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
ScratchBoom
@ScratchBoom
mm - это минуты
MM - это месяцы

+ дата в коде нигде не форматируется, только парсится.
Надо выводить dateFormat.format(date), а не просто date (birthday в коде)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы