有没有办法将日期格式化为mmm:ss而不是hh:mm:ss?基本上,7:15:28应该显示为435:28而不是。
SimpleDateFormat类不支持这种格式是否存在或者我是否必须自己实现变体?
答案 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()));