11
votes

Décrémenter une date en Java

Je veux obtenir la journée précédente (24 heures) de l'heure actuelle.

E.g Si l'heure actuelle est Date de date actuelle = nouvelle date ();

2011-04-25 12: 15: 31: 562 GMT

Comment déterminer le temps i.e

2011-04-24 12: 15: 31: 562 GMT


0 commentaires

5 Réponses :


10
votes

Je vous suggérerais d'utiliser Joda Time pour commencer avec, ce qui est un Beaucoup em> plus gentil API. Ensuite, vous pouvez utiliser:

DateTime yesterday = new DateTime().minusDays(1);


1 commentaires

Un nouveau lien de téléchargement rapide pour la bibliothèque joda-time externe: URL



32
votes

Vous pouvez le faire en utilisant classe de calendrier : < Pré> xxx


0 commentaires

1
votes

24 heures et 1 jour ne sont pas la même chose. Mais vous utilisez à la fois un calendrier: xxx

Si vous revenez 24 heures, vous utiliseriez calendar.hour_of_day


0 commentaires

2
votes

Veuillez vérifier cela ici: Java Date VS Calendar

Calendar cal=Calendar.getInstance();
cal.setTime(date); //not sure if date.getTime() is needed here
cal.add(Calendar.DAY_OF_MONTH, -1);
Date newDate = cal.getTime();


0 commentaires

0
votes

java.time em>

java.util code> API de date-heure et leur API de formatage, SimpleDateDormat sont obsolètes et orientés d'erreur. Il est recommandé d'arrêter de les utiliser complètement et de passer à la API moderne de date-heure * sup>. p>

aussi, cité ci-dessous est un avis de la Page d'accueil de Joda-Time Strong> : P>

Notez que de Java SE 8 à partir de 8, les utilisateurs sont invités à migrer vers Java.Time (JSR-310) - une partie centrale du JDK qui remplace ce projet. P> blockQuote>

solution à l'aide de java.time code>, l'API de date moderne: strong> p> xxx pré>

Sortie d'un échantillon RUN: FORT> P>

Date date = Date.from(odt.toInstant());


0 commentaires