Une classe écrite pour vous aider à rendre vos dates Java plus… User friendly. Le principe est vraiment simple, juste un peu de maths pour calculer le nombre de seconde dans une heure, une minute, un jour et etc…
Je me suis arrêté exprès aux jours pour vous laisser vous exercer avec les mois voire les années, alors à vous de jouer.
package com.marclabs.utils;
import java.util.Calendar;
import java.util.Date;
public class HumanizeDate{
public static String getDateDifference(Date thenDate) {
Calendar now = Calendar.getInstance();
Calendar then = Calendar.getInstance();
now.setTime(new Date());
then.setTime(thenDate);
// Recuperer la date en millisecondes
long nowMs = now.getTimeInMillis();
long thenMs = then.getTimeInMillis();
// Calculer la différence en milllisecondes
long diff = nowMs - thenMs;
// Calculer la différence en secondes
long diffMinutes = diff / (60 * 1000);
long diffHours = diff / (60 * 60 * 1000);
long diffDays = diff / (24 * 60 * 60 * 1000);
long diffMonths = diff / (30 * 24 * 60 * 60 * 1000);
if (diffMinutes < 60) {
if (diffMinutes == 1)
return " il y a une minute";
else
return "il y a "+diffMinutes+" minutes";
} else if (diffHours < 24) {
if (diffHours == 1)
return "il y a une heure";
else
return " il y a "+diffHours+" heures";
} else if (diffDays < 30) {
if (diffDays == 1)
return "il y a un jour";
else
return " il y a "+diffDays+" jours";
} else {
return "il y a un moment..";
}
}
}
J’aime ça :
J’aime chargement…
Articles similaires
"Humaniser" ses dates en Java
Par Jean-Marc AmonUne classe écrite pour vous aider à rendre vos dates Java plus… User friendly. Le principe est vraiment simple, juste un peu de maths pour calculer le nombre de seconde dans une heure, une minute, un jour et etc…
Je me suis arrêté exprès aux jours pour vous laisser vous exercer avec les mois voire les années, alors à vous de jouer.
Partager sur :
J’aime ça :
Articles similaires
Navigation de l’article
À propos de l’auteur
Jean-Marc est un développeur, Administrateur Système Linux et DevOps. Quand Il n'est pas sur un ordinateur, vous pouvez le trouver en train de lire, écrire ou profiter du soleil et de la mer. Son pseudo Twitter est @AmonMarc, et vous pouvez le trouver sur github.com/jebog