Bonjour,
Je sais est ce que il existe un moyen plus simple qui permet d'ajouter une minute à une date (date = new Date();).
Merci d'avance.
Version imprimable
Bonjour,
Je sais est ce que il existe un moyen plus simple qui permet d'ajouter une minute à une date (date = new Date();).
Merci d'avance.
Bonjour,
Essayes avec la date de format long (jj/mm/aaaa hh:mm:ss)
ça donne quoi ?
Oui avec ça c'est possible, mais ce que je veux c'est de faire un truc genre : new Date() + 1 min ; mais comment transformer ça en java
Bonjour,
Avec GregorianCalendar.
Par exemple :
// Et on n'a même pas à se préoccuper d'un report éventuel sur l'heure, le jour, le mois ou l'annéeCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 .... //import java.util.GregorianCalendar; .... // Obtenir la date du jour GregorianCalendar gc = new GregorianCalendar(); // obtention des composants de la date : int annee = gc.get(Calendar.YEAR); int mois = gc.get(Calendar.MONTH); int jour = gc.get(Calendar.DAY_OF_MONTH); int heure = gc.get(Calendar.HOUR_OF_DAY); int minxx = gc.get(Calendar.MINUTE); // Avant: System.out.println("annee = " + annee); System.out.println("mois = " + (mois + 1)); //le mois obtenu est 0 à 11 System.out.println("jour = " + jour); System.out.println("heure = " + heure); System.out.println("minutes = " + min); // On réinjecte les données obtenues dont les minutes + 1 //C'est ici qu'on additionne 1 minute gc = new GregorianCalendar(annee, mois, jour, heure, min + 1); // on fait une relecture pour contrôler annee = gc.get(Calendar.YEAR); mois = gc.get(Calendar.MONTH); jour = gc.get(Calendar.DAY_OF_MONTH); heure = gc.get(Calendar.HOUR_OF_DAY); min = gc.get(Calendar.MINUTE); Après: System.out.println("annee = " + annee); System.out.println("mois = " + (mois + 1)); //le mois obtenu est 0 à 11 System.out.println("jour = " + jour); System.out.println("heure = " + heure); System.out.println("minutes = " + min);
Cordialement,
Dan
c'est un peux gros là, je dirais plutot
Code:
1
2
3 Calendar c = new GregorianCalendar(date); c.add(Calendar.MINUTES,1); date = c.getTime();
Oui c'est tout à fait vrai, mais je voulais montrer un peu plus des possibilités de GregorianCalendar... Et aussi afficher (mal peut-être) la date avant + 1 minute et après.
Cordialement,
Dan
Un petit détail tout de même :
IL n’y a pas de constructeur GregorianCalendar(java.util.Date)
Ce qu’il faudrait c’est:
En plus, ne vaut-il pas mieux éviter d'utiliser java.util.Date ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Date date = new Date(); // date du jour Avant: System.out.println("date avant + 1 minute = " + date); Calendar c = new GregorianCalendar(); // date du jour et non (date) // ou nimporte quelle date mais en fournissant l'année, le mois - 1, le jour, // l'heure, les minutes et dans cet ordre // Calendar c = new GregorianCalendar(annee, mois-1, jour, heure, minutes); // Ne pas oublier que l'équivalent avec Date() est "DEPRECATED" c.add(Calendar.MINUTE,1); // et non MINUTES date = c.getTime(); Après: System.out.println("date apres + 1 minute = " + date);
Cordialement,
Dan
Bonjour,
Et c quoi la différence entre
ETCode:
1
2 Calendar c = new GregorianCalendar();
Code:
1
2 Calendar c = getInstance.Calendar();
Calendar.getInstance() te retourne un calendrier pour la timezone et la locale par défaut de la machine. Ce calendrier est aproprié à ces paramètre. En pratique ce sera presque toujours un GregorianCalendar. Je ne sais pas si il existe des cas où ça retourne autre chose, mais l'api ne garantit pas que ce sera u gregoriancalendar.
new GregorianCalendar() te crée un calendrier gregorien callé sur la timezone et la locale par défaut de ta machine. La t'as la garantie que c'est du grégorien. En pratique si t'as pas besoin de l'api GregorianCalendar, tu peux utiliser getInstance().
En rapport avec le passage d'une objet Date, c'est vrai, m'est trompé :) Il faut faire
pour ce qui est de de se passer de java.util.Date ,difficile quand on sait que le SimpleDateFormat retourne et gère des Date, pas des Calendar ^^Code:
1
2 Calendar c = .... // exemple Calendar.getInstance(); c.setDate(laDate);
Sans paramètres il n'y en a pas mais à condition décrire correctement:
getInstanceCode:Calendar c = Calendar.getInstance();
public static Calendar getInstance()
Gets a calendar using the default time zone and locale. The Calendar returned is based on the current time in the default time zone with the default locale.
Returns:
a Calendar.
Avec paramètres si.
getInstance
public static Calendar getInstance(TimeZone zone)
Gets a calendar using the specified time zone and default locale. The Calendar returned is based on the current time in the given time zone with the default locale.
Parameters:
zone - the time zone to use
Returns:
a Calendar.
getInstance
public static Calendar getInstance(Locale aLocale)
Gets a calendar using the default time zone and specified locale. The Calendar returned is based on the current time in the default time zone with the given locale.
Parameters:
aLocale - the locale for the week data
Returns:
a Calendar.
getInstance
public static Calendar getInstance(TimeZone zone,
Locale aLocale)
Gets a calendar with the specified time zone and locale. The Calendar returned is based on the current time in the given time zone with the given locale.
Parameters:
zone - the time zone to use
aLocale - the locale for the week data
Returns:
a Calendar
Cordialement,
Dan