Comment puis-je formater cette date?
-
26-09-2019 - |
Question
J'ai une date qui a le format suivant:
"yyyy-MM-dd'T'HH:mm:ss'Z'"
Je voudrais le convertir en quelque chose de similaire à:
"Il y a 3 minutes"
Comment puis-je prendre?
La solution
laid, mais le tour est joué .. et oui, un double! : (
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.set(2010, 10, 20, 22, 37, 12);
Date start = c.getTime();
Date end = new Date();
long diff = (end.getTime() - start.getTime()) / 1000;
long days = diff / (60 * 60 * 24);
long hours = diff / (60 * 60) - days * 24;
long minutes = diff / 60 - (hours * 60 + days * 24 * 60);
long seconds = diff % 60;
String output = "";
if (days >= 1)
output += days + " day" + ((days > 1) ? "s" : "");
if (hours >= 1)
output += " " + hours + " hour" + ((hours > 1) ? "s" : "");
if (minutes >= 1)
output += " " + minutes + " minute" + ((minutes > 1) ? "s" : "");
if (seconds >= 1)
output += " " + seconds + " second" + ((seconds > 1) ? "s" : "");
output = output.trim();
System.out.println(output);
}
Autres conseils
Voir cette question SO:
Pour oarsing la date, consultez Comment analyser une date? Pour l'afficher dans un format plus agréable, pour vérifier PrettyTime .
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow