Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This is what I did, it works for me but I'm sure it can be improved or even yet, maybe there is a hidden (for me) class that does this...</p> <pre><code>/*Imports*/ package javatest; import java.util.Date; public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here long segundo = 1000; long minuto = segundo * 60; long hora = minuto * 60; long dia = hora * 24; long semana = dia * 7; long mes = dia * 30; long anio = mes * 12; long startDate = new Date().getTime(); //startDate = startDate - (semana + hora + 30 * minuto + anio*2); startDate = startDate - (mes); long endDate = new Date().getTime(); System.out.println("Inicio: " + new Date(startDate)); System.out.println("Final: " + new Date(endDate)); System.out.println(PrettifyDateDiff(endDate - startDate, true)); } private static String PrettifyDateDiff(long dateDiff, boolean showDisclaimer) { /* Constantes utilizadas para facilitar * la lectura de la aplicación */ long second = 1000; long minute = second * 60; long hour = minute * 60; long day = hour * 24; long week = day * 7; long month = day * 30; long year = month * 12; // Dividimos los milisegundos entre su equivalente de // las constantes de arriba para obtener el valor en la // escala de tiempo correspondiente. long minutes = dateDiff / minute; long hours = dateDiff / hour; long days = dateDiff / day; long weeks = dateDiff / week; long months = dateDiff / month; long years = dateDiff / year; String prettyDateString = ""; if (minutes &gt; 60) { prettyDateString = minutes - (hours * 60) + " minutos."; if (hours &gt; 24) { prettyDateString = hours - (days * 24) + " horas " + prettyDateString; if (days &gt; 7) { prettyDateString = days - (weeks * 7) + " dias " + prettyDateString; if(weeks &gt; 4){ prettyDateString = weeks - (months * 4) + " semanas " + prettyDateString; if(months &gt; 12){ prettyDateString = months - (years * 12) + " meses " + prettyDateString; if(years &gt; 0){ prettyDateString = years + " años " + prettyDateString; } }else{ prettyDateString = months + " meses " + prettyDateString; } }else{ prettyDateString = weeks + " semanas " + prettyDateString; } } else { prettyDateString = days + " dias " + prettyDateString; } } else { prettyDateString = hours + " horas " + prettyDateString; } } else { prettyDateString = minutes + " minutos."; } if(showDisclaimer &amp;&amp; (weeks &gt; 0 || months &gt; 0)){ prettyDateString += " (Semanas de 7 dias, Meses de 30 dias)."; } return prettyDateString; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload