Programmbibliothek für gesprochene Dauern: PrettyTime

Schwierig, einen Titel zu finden, aber wenn ich ein Beispiele gebe wird’s klar, was die LGPL-Bibliothek PrettyTime macht:

PrettyTime p = new PrettyTime();
System.out.println(p.format(new Date())); //prints: “right now”
PrettyTime t = new PrettyTime(new Date(0));
assertEquals("3 hours from now", t.format(new Date(1000 * 60 * 60 * 3)));
PrettyTime t = new PrettyTime(new Date(0));
assertEquals("3 days from now", t.format(new Date(1000 * 60 * 60 * 24 * 3)));
PrettyTime t = new PrettyTime(new Date(0));
assertEquals("3 weeks from now", t.format(new Date(1000 * 60 * 60 * 24 * 7 * 3)));
PrettyTime t = new PrettyTime(new Date(0));
assertEquals("3 months from now", t.format(new Date(2629743830L * 3L)));
PrettyTime t = new PrettyTime(new Date(0));
assertEquals("3 years from now", t.format(new Date(2629743830L * 12L * 3L)));
PrettyTime t = new PrettyTime(new Date(0));
assertEquals("12 minutes from now", t.format(new Date(1000 * 60 * 12)));

Die API kann man auch in JSF nutzen.

<h:outputText value="#{exampleBean.futureDate}">
  <f:converter converterId="com.ocpsoft.PrettyTimeConverter"/>
</h:outputText>

Das ganze gibt es lokalisiert für die Sprachen

  • Dutch – NL
  • English – DEFAULT
  • French – FR
  • German – DE
  • Chinese – ZH_CN
  • Portugese – PT
  • Spanish – ES

Voraussetzung ist Java 6.0. Der Quellcode ist aufgebläht bis zum Umfallen, aber wen das nicht stört, findet in PrettyTime eine kleine nette Bibliothek zur Zeitdarstellung.

Über Christian Ullenboom

Ich bin Christian Ullenboom und Autor der Bücher ›Java ist auch eine Insel. Einführung, Ausbildung, Praxis‹ und ›Java SE 8 Standard-Bibliothek. Das Handbuch für Java-Entwickler‹. Seit 1997 berate ich Unternehmen im Einsatz von Java. Sun ernannte mich 2005 zum ›Java-Champion‹.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.