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

Langage Java Discussion :

Obtenir la date d'hier


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 110
    Points : 56
    Points
    56
    Par défaut Obtenir la date d'hier
    J'ai une petit question
    savez vous comment obtenir la date d'hier, biensur apres avoir recuperer la date system ??
    SVP ne me dite pas que je doit recuperer le jour puis decrementer de 1 car cette methode ne marche pas au debut du mois !!!

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Calendar c = new GregorianCalendar();
    c.add(Calendar.DATE,-1);

  3. #3
    Membre régulier Avatar de freelibre
    Profil pro
    Inscrit en
    Février 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Points : 76
    Points
    76
    Par défaut Hier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(new Date(System.currentTimeMillis()));
    calendar.add(Calendar.DATE, -1);
    Date hier = calendar.getTime();
    System.out.println(hier);
    Bonne continuation
    Le Partage est notre Force !

  4. #4
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Citation Envoyé par freelibre Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(new Date(System.currentTimeMillis()));
    calendar.add(Calendar.DATE, -1);
    Date hier = calendar.getTime();
    System.out.println(hier);
    Bonne continuation
    Ce n'est pas vraiment la meilleure solution, c'est la même chose que la proposition de tchize_, en beaucoup plus long

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    calendar.setTime(new Date(System.currentTimeMillis()));
    Pas mal de choses inutiles dans cette ligne :

    - Un Calendar nouvellement créé est déjà à la date en cours, pas besoin de faire un setTime() si c'est ce qu'on voulait.

    - Une Date créée avec new Date() est déjà à la date en cours, pas besoin de lui passer System.currentTimeMillis() en paramètre.

    - Si on connaît déjà la date en millisecondes, plutôt que Calendar.setTime() qui oblige à créer un objet Date, on peut appeler Calendar.setTimeInMillis().
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    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
    bande de spépieux, ça marche, c'est tout ce qui compte

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 110
    Points : 56
    Points
    56
    Par défaut
    merci beaucoup

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    bande de spépieux, ça marche, c'est tout ce qui compte
    Franchement, expliquer les conventions de base des classes Calendar et Date à quelqu'un qui ne les connaissait pas encore, ça me semble pas un excès de méticulosité .
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre régulier Avatar de freelibre
    Profil pro
    Inscrit en
    Février 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    calendar.setTime(new Date(System.currentTimeMillis()));
    Pas mal de choses inutiles dans cette ligne :

    - Un Calendar nouvellement créé est déjà à la date en cours, pas besoin de faire un setTime() si c'est ce qu'on voulait.

    - Une Date créée avec new Date() est déjà à la date en cours, pas besoin de lui passer System.currentTimeMillis() en paramètre.

    - Si on connaît déjà la date en millisecondes, plutôt que Calendar.setTime() qui oblige à créer un objet Date, on peut appeler Calendar.setTimeInMillis().
    Merci pour ces éclaircissements on apprend toujours et on gagne du temps.
    Le Partage est notre Force !

  10. #10
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    Si on résume ca devient :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Calendar c = Calendar.getInstance();
    c.add(Calendar.DATE, -1);


  11. #11
    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
    Huuummm, j'ai déjà vu ce code quelque part

  12. #12
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    Ouai mais je trouve plus beau de faire
    Calendar.getInstance()
    que
    new GregorianCalendar();

  13. #13
    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
    au moins je risque pas de me choper un calendrier julien si le pc est configuré en l'an 700

  14. #14
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Marre-toi mais je ne sais pas comment j'ai fait, je me suis déjà retrouvé avec un calendrier impérial japonais avec Calendar.getInstance(). Mon algo ne s'attendait pas franchement à ce que les années soient comptées comme ça.

    Je ne sais pas comment j'ai fait (il semble que ça ne soit pas le défaut avec une locale japonaise,) mais en tout cas new GregorianCalendar() quand on compte sur un calendrier grégorien, ça élude le problème.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    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
    je savais même pas qu'il était implémenté en java. Y a aussi le calendrier arabe qui est particulier. Heureusement, on arrête pas de nous le dire, en 2012 on sera débarassé du calendrier maya

  16. #16
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    je savais même pas qu'il était implémenté en java. Y a aussi le calendrier arabe qui est particulier. Heureusement, on arrête pas de nous le dire, en 2012 on sera débarassé du calendrier maya
    Alors comment seront les developpeurs Java Maya apres 2012?

  17. #17
    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
    ils subiront le grand reboot Je m'en fous, je suis sur le serveur Europe

  18. #18
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 110
    Points : 56
    Points
    56
    Par défaut
    y'a t-il pas une methode pour recuperer cette date d'hier sous la forme
    dd/mm/yyyy
    j'ai essayé de recupérer le jour avec la methode getDay() mais ca me renvoi le jour + 2
    bizarre

  19. #19
    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
    le code qu'on t'a fournis renvoie la date. getDay() retourne le numéro du jour et est de toutes façons dépréciée. Pour afficher la date dans uen format précis, il faut utiliser la classe SimpleDateFormat.

  20. #20
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 110
    Points : 56
    Points
    56
    Par défaut
    merci, j'aurai du l'essayé dès le debut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Dates] Obtenir la date de hier
    Par gus02 dans le forum Langage
    Réponses: 6
    Dernier message: 04/06/2008, 11h56
  2. obtenir la date d'hier
    Par bilelle dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 15/10/2007, 11h47
  3. Comment obtenir la date de début d'une semaine ?
    Par Vodkha dans le forum Langage
    Réponses: 5
    Dernier message: 19/08/2005, 09h54
  4. Obtenir des dates en fonction du n° de la semaine
    Par coeur74 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/02/2005, 13h42
  5. Réponses: 3
    Dernier message: 23/03/2004, 16h44

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