#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
Объект не имеет формата представления. В нем есть только данные. Форматировщик имеет формат.