tl; dr
Duration.ofMillis(…)
.toString()
ISO 8601
lo que es el, más simple, no hay manera más corta sin sentido a la IRG te un formato de tiempo derivado de milisegundos
El estándar ISO 8601 define los formatos de texto para los valores de fecha y hora. Estos formatos son cortos, simples y sin sentido. Son en gran medida legibles por humanos en diversas culturas, prácticos y no ambiguos.
Por períodos de tiempo no vinculados a la línea de tiempo, el standard format es PnYnMnDTnHnMnS
. El P
marca el comienzo y el T
separa los años-mes-días de las horas-minutos-segundos. Entonces una hora y media es PT1H30M
.
java.time.Duration
Las clases java.time incluyen un par de clases para representar espacios de tiempo. La clase Duration
es por horas-minutos-segundos, y Period
es por años-meses-días.
Duration d = Duration.ofMillis(yourMillisecondsNumberGoesHere);
Las clases java.time usan formatos ISO 8601 por defecto para analizar y generar cadenas. Las clases Duration
y Period
usan este formato estándar particular. Así que simplemente llame al toString
.
String output = d.toString();
Puede ir en la otra dirección, analizando estas cadenas estándar.
Duration d = Duration.parse("PT1H30M");
Sobre java.time
El marco java.time está incorporado en Java 8 y versiones posteriores. Estas clases suplantan a las viejas y problemáticas clases de fecha y hora legacy, como java.util.Date
, Calendar
, & SimpleDateFormat
.
El proyecto Joda-Time, ahora en maintenance mode, recomienda la migración a las clases java.time.
Para obtener más información, consulte el Oracle Tutorial. Y busque Stack Overflow para obtener muchos ejemplos y explicaciones. La especificación es JSR 310.
¿Dónde obtener las clases java.time?
- Java SE 8 y SE 9 y más tarde
- incorporado.
- Parte de la API estándar de Java con una implementación integrada.
- Java 9 agrega algunas características menores y correcciones.
- Java SE 6 y SE 7
- Gran parte de la funcionalidad de back-java.time está portado a Java 6 & 7 en ThreeTen-Backport.
- Android
El proyecto se extiende ThreeTen-Extra java.time con clases adicionales. Este proyecto es un terreno de prueba para posibles adiciones futuras a java.time. Puede encontrar algunas clases útiles aquí, como Interval
, YearWeek
, YearQuarter
y more.
Debe ser 'System.currentTimeMillis() - time;'. –