71 votes

millisecondes en jours

J'ai fait quelques recherches, mais je ne trouve toujours pas comment obtenir les jours... Voici ce que j'ai obtenu :

 int seconds = (int) (milliseconds / 1000) % 60 ;
int minutes = (int) ((milliseconds / (1000*60)) % 60);
int hours   = (int) ((milliseconds / (1000*60*60)) % 24);
int days = ????? ;

S'il vous plaît, aidez-moi, je suis nul en maths, merci.

125voto

Mark Byers Points 318575

Si vous n'avez pas d'autre intervalle de temps supérieur à plusieurs jours :

 int days = (int) (milliseconds / (1000*60*60*24));

Si vous aussi vous avez des semaines :

 int days = (int) ((milliseconds / (1000*60*60*24)) % 7);
int weeks = (int) (milliseconds / (1000*60*60*24*7));

Il est probablement préférable d'éviter d'utiliser des mois et des années si possible, car ils n'ont pas une durée fixe bien définie. Les jours non plus à proprement parler : l'heure d'été signifie que les jours peuvent avoir une durée qui n'est pas de 24 heures.

5voto

Dev Parzival Points 391

Optez pour TimeUnit en java

Pour importer l'utilisation, java.util.concurrent.TimeUnit

 long millisec=System.currentTimeMillis();
long seconds=TimeUnit.MILLISECONDS.toSeconds(millisec);
long minutes=TimeUnit.MILLISECONDS.toMinutes(millisec);
long hours=TimeUnit.MILLISECONDS.toMinutes(millisec);
long days=TimeUnit.MILLISECONDS.toDays(millisec);

2voto

Codeversed Points 1418
public static final long SECOND_IN_MILLIS = 1000;
public static final long MINUTE_IN_MILLIS = SECOND_IN_MILLIS * 60;
public static final long HOUR_IN_MILLIS = MINUTE_IN_MILLIS * 60;
public static final long DAY_IN_MILLIS = HOUR_IN_MILLIS * 24;
public static final long WEEK_IN_MILLIS = DAY_IN_MILLIS * 7;

Vous pouvez lancer int mais je recommanderais d'utiliser long .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X