Пользовательские форматы даты ммм: сс - PullRequest
2 голосов
/ 12 февраля 2009

Есть ли способ отформатировать дату, чтобы ммм: сс вместо чч: мм: сс? Как правило, вместо 7:15:28 вместо 435: 28.

Класс SimpleDateFormat не поддерживает этот формат. Есть ли такой, который выполняет или мне придется самостоятельно реализовывать вариант?

Ответы [ 3 ]

4 голосов
/ 12 февраля 2009

Вам придется реализовать это самостоятельно, но вы должны иметь в виду, что реализация Formatter - непростая задача, поскольку в ней есть много соображений.

2 голосов
/ 13 февраля 2009

Если все, что вы хотите сделать, это отформатировать дату в указанном вами формате (без других частей даты), вы можете просто сделать это очень просто:

   public String format(Date date) {      
      Calendar cal = new GregorianCalendar();
      cal.setTime(date);
      return cal.get(Calendar.HOUR) * 60 + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND);      
   }
1 голос
/ 13 февраля 2009

Вы можете использовать Joda Time для создания пользовательского форматера. С классом DateTimeFormatterBuilder вы можете по крайней мере показывать минуты дня:

import org.joda.time.format.DateTimeFormatter;
import org.joda.time.format.DateTimeFormatterBuilder;

DateTimeFormatter customFormat = new DateTimeFormatterBuilder()
      .appendMinuteOfDay(1)
      .appendLiteral(':')
      .appendSecondOfMinute(2)
      .toFormatter();
System.out.println(customFormat.print(System.currentTimeMillis()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...