自定义DateFormats mmm:ss

时间:2009-02-12 16:08:37

标签: java

有没有办法将日期格式化为mmm:ss而不是hh:mm:ss?基本上,7:15:28应该显示为435:28而不是。

SimpleDateFormat类不支持这种格式是否存在或者我是否必须自己实现变体?

3 个答案:

答案 0 :(得分:4)

你必须自己实现它,但你应该记住,实现Formatter并不是一项简单的任务,因为它有很多l10n注意事项。

答案 1 :(得分:2)

如果您只想将日期格式化为您指定的格式(不包括日期的其他部分),您可以非常简单地执行此操作:

   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);      
   }

答案 2 :(得分:1)

您可以使用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()));