Как создать дату с определенным форматом в Java?

#java #string #datetime #date

#java #строка #дата и время #Дата

Вопрос:

У меня есть следующий код для обработки даты

 SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss a"); 

String s = formatter.format(formatter.parse("10/11/2011 4:24:00 PM");
System.out.prinln(s);
Date d = (Date)formatter.parseObject(s);
System.out.println(d);
  

этот вывод первой строки печати : 10/10/2011 00:00:00 AM

и второй : Mon Oct 10 00:00:00 GMT 02:00 2011

Как я могу заставить второе утверждение распечатываться так же, как и первое?

Редактировать

вопрос в том, как создать объект date с этим форматом?

Комментарии:

1. Это уже третий подобный вопрос за сегодняшний день: Данные-> Строка-> Дата??

2. Вопрос «как создать объект date с этим форматом» бессмыслен. Желаемый результат создается путем форматирования Date объекта с использованием объекта DateFormat (согласно ответу Божо).

3. Вы должны различать сам объект (дату) и соответствующее форматирование. Последнее на самом деле является только представлением, которое может меняться в зависимости от среды (например, языка пользователя в веб-приложении).

Ответ №1:

Вы не можете. toString() Метод объектов используется в основном для отладки, а не для представления пользователям.

Всегда используйте средство форматирования. В вашем случае: String formatted = formatter.format(d)

Date Объект не имеет формата представления. В нем есть только данные. Форматировщик имеет формат.