2012-07-17 13 views
7

Me gustaría expresar algunos intervalos de tiempo en un formato legible para las personas. Estaba buscando una biblioteca que pudiera elegir automáticamente el tamaño correcto de las unidades. Los intervalos oscilarán entre milisegundos y semanas. Algo así comoIntervalo de tiempo legible por humanos automático

  • 0.2s
  • 2:00
  • 4 días
  • ...

Sé que podría comprobar manualmente el tamaño del argumento y después convertirlo pero antes reinventando la rueda que quería preguntar si hay una biblioteca (estándar) para lograr eso.

  • TimeUnit hace las conversiones, pero no se tiene conocimiento sobre el tamaño del argumento
  • un Joda-TimeDuration representa exactamente lo que necesito, pero no he encontrado mucho sobre la representación (pero para el formato ISO8601 de ReadableDuration)

Editar:

Mi entrada en en nanosegundos y salida como se describe una bove.

+0

Dale algunas entradas y salidas de muestra de lo que usted quiere? –

+0

@djaqeel He editado la pregunta: entrada en nanosegundos (o milisegundos) y salida lo más humanamente posible. – Matteo

Respuesta

24

Comprobar PrettyTime

PrettyTime es un tiempo OpenSource formatear biblioteca. Completamente personalizable, PrettyTime crea sellos de tiempo relativos, legibles por humanos, como los que se ven en Digg, Twitter y Facebook. Es simple, comience "ahora mismo" y en más de 18 idiomas.

Por ejemplo

PrettyTime p = new PrettyTime(); 
    System.out.println(p.format(new Date())); 
    //prints: “right now” 

    PrettyTime t = new PrettyTime(new Date(3155692597470L * 3L)); 
    t.format(new Date(0)); 
    //3 centuries ago 
Cuestiones relacionadas