代码之家  ›  专栏  ›  技术社区  ›  z -

自定义日期格式mmm:ss

  •  2
  • z -  · 技术社区  · 16 年前

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

    SimpleDataFormat类不支持这种格式。有没有一个可以或者必须自己实现一个变体?

    3 回复  |  直到 16 年前
        1
  •  4
  •   David Grant    16 年前

    您必须自己实现它,但是您应该记住,实现格式化程序并不是一项简单的任务,因为它有许多l10n方面的考虑。

        2
  •  2
  •   staffan    16 年前

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

       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);      
       }
    
        3
  •  1
  •   Christoph Metzendorf    16 年前

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