Wie kann ich ein "pretty print" Dauer in Java?

Kennt jemand eine Java Bibliothek, die können ganz schön Druck eine Zahl in Millisekunden in der gleichen Weise, dass C# funktioniert?

E. g., 123456 ms als lange gedruckt werden, wie 4d1h3m5s.

  • FYI, das format, das Sie scheinen zu beschreiben, ist ein Duration definiert die sinnvolle standard, ISO-8601: PnYnMnDTnHnMnS wo P bedeutet "Zeit" und markiert den Anfang T trennt das Datum Teil Zeit-Teil, und in zwischen sind optional occurrances einer Reihe mit einem einzelnen Buchstaben bestehende Abkürzung. Zum Beispiel PT4H30M = vier und eine Hälfte Stunden.
  • Wenn alle Stricke reißen, es ist eine sehr einfache Sache, es selbst zu tun. Verwenden Sie einfach aufeinander folgende Anwendungen von % und / zu split die Anzahl zu teilen. Fast einfacher als einige der vorgeschlagenen Antworten.
  • Lassen Sie es zur Bibliothek Methoden für die viel sauberer und übersichtlicher code, als mit / und %.
  • Ja, in den vergangenen 8 Jahren, seit ich diese Frage gestellt (!) Ich habe umgestellt auf joda time das passt zu meinem Anwendungsfall sehr gut
  • Die Joda-Time-Projekt ist jetzt im Wartungs-Modus, und berät die migration zu java.Zeit-Klassen gebaut in Java 8 und höher.
InformationsquelleAutor phatmanace | 2010-08-12
Schreibe einen Kommentar