IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement Web en Java Discussion :

Modifier l'heure d'une date avec Calendar


Sujet :

Développement Web en Java

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 122
    Points : 54
    Points
    54
    Par défaut Modifier l'heure d'une date avec Calendar
    Bonjour,

    Je veux récupérer dans des variables la date du jour et l'heure de la date actuel et ensuite ajouter une heure.

    Ensuite reformer la date avec les valeurs obtenues.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    java.util.Calendar c = Calendar.getInstance(); // Récup la date du jour
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH);
    int day = c.get(Calendar.DAY_OF_MONTH); 
    int hours = c.get(Calendar.HOUR);
    int minute = c.get(Calendar.MINUTE);
    int second = c.get(Calendar.SECOND);
    int addHours = c.get(Calendar.HOUR) + 1;
    int subHours = c.get(Calendar.HOUR) - 1;
    java.util.Date dateAutmn = new Date(year,month,day,addHours,minute,second);
    java.util.Date datePrintemps = new Date(year,month,day,subHours,minute,second);
    Est-ce que je dois formater ma "dateAutmn" pour avoir ex: 2012-10-31 06:10?

    Je ne suis pas sure d'utiliser la classe Calender de la bonne manière.

    La variable int day qui es la date du jour est bien un number et je veux l'utiliser dans un javascript plus loin dans mon code.

    Merci!
    Jake000111

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    1) il y

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    1) il y a déjà une méthode add sur calendar pour incrémenter ou décrémenter correctement un champ d'un date
    2) il n'y a pas de constructeur date avec les paramètres que tu as fournis
    3) il y a une méthode getTime() pour récupérer un objet Date à partir du Calendar
    4) un Date n'a pas de format, c'est juste un moment dans le temps.

  4. #4
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    tu peux aussi faire cela avec la "bonne vieille" classe Date :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Date now = new Date();
    long newDate = now.getTime() + (1000*60*60);
    Date after = new Date(newDate);	
    System.out.println(now);
    System.out.println(after);
    Ca donne l'affichage suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Fri Nov 02 17:16:11 CET 2012
    Fri Nov 02 18:16:11 CET 2012
    et après pour la formater comme tu le souhaites avec un SimpleDateFormat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm");
    System.out.println(sdf.format(after));
    Ce qui donne :
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

Discussions similaires

  1. [ASIQ] Comment tester par rapport à une date avec l'heure
    Par Soulkeum dans le forum Adaptive Server IQ
    Réponses: 1
    Dernier message: 08/02/2008, 18h06
  2. Multiplier une date avec une heure
    Par tazmania dans le forum Access
    Réponses: 8
    Dernier message: 29/12/2006, 10h21
  3. Réponses: 3
    Dernier message: 12/07/2006, 09h13
  4. [Dates] Modifier une date avec 'substr'
    Par R'SKaP dans le forum Langage
    Réponses: 4
    Dernier message: 01/06/2006, 12h40
  5. Modifier l'heure et la date d'une machine sur le réseau -VB6
    Par GEGER dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 25/11/2005, 19h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo