2 Stimmen

Benutzerdefinierte DateFormate mmm:ss

Gibt es eine Möglichkeit, ein Datum so zu formatieren, dass es mmm:ss statt hh:mm:ss lautet? Im Grunde sollte 7:15:28 stattdessen als 435:28 angezeigt werden.

Die SimpleDateFormat-Klasse unterstützt dieses Format nicht, gibt es eine, die tut, oder muss ich eine Variation selbst zu implementieren?

4voto

David Grant Punkte 13573

Sie müssen es selbst implementieren, aber Sie sollten bedenken, dass die Implementierung eines Formatierers keine einfache Aufgabe ist, da es viele l10n Überlegungen gibt.

2voto

staffan Punkte 5503

Wenn Sie nur ein Datum in das von Ihnen angegebene Format formatieren möchten (ohne andere Teile des Datums), können Sie dies ganz einfach tun:

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

1voto

Sie könnten verwenden Joda Zeit um einen benutzerdefinierten Formatierer zu erstellen. Mit der DateTimeFormatterBuilder-Klasse könnten Sie zumindest die Minuten eines Tages anzeigen:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X