Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

325
Views
¿Hay alguna manera de obtener una conversión de milisegundos a días sin perder precisión y sin necesidad de escribir la fórmula matemática en Java?

Estaba usando TimeUnit.MILLISECONDS.toDays(ms) para convertir una cantidad de tiempo de milisegundos en días, pero al leer el JavaDoc noté que se basa en .convert() y pierde precisión

Convierta la duración del tiempo dado en la unidad dada a esta unidad. Las conversiones de granularidades más finas a más gruesas se truncan, por lo que pierden precisión. Por ejemplo, la conversión de 999 milisegundos a segundos da como resultado 0. Las conversiones de granularidades más gruesas a más finas con argumentos que se desbordarían numéricamente se saturan a Long.MIN_VALUE si es negativo o Long.MAX_VALUE si es positivo.

Realmente no se lo esperaba, mis 5 minutos (300000ms) se convirtieron en 0 días. La solución inmediata fue escribir esto

 double days= (double)ms/1000*60*60*24;

Es horrible y creo que innecesario, pero funciona. ¿Algún consejo? ¿Alguna otra función que pueda usar?

pd: no estoy esperando que me diga que debo poner esos números en vars estáticos, estoy tratando de entender qué tipo de solución sería una buena solución. Gracias por adelantado

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Simplemente use TimeUnit al revés:

 double days = ms / (double) TimeUnit.DAYS.toMillis(1);
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!