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 :

[GregorianCalendar]Controle de l'egalité de deux dates


Sujet :

Langage Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    370
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 370
    Par défaut [GregorianCalendar]Controle de l'egalité de deux dates
    J'ai besoin, de comparer, une date de création de fichier en base de données, avec la date courante, et si cette comparaison est égale à 7 jours alors je supprime le fichier.

    Je travail avec des GregorianCalendar, construit à partir des Date (sql.Date ou util.Date de la base de données) et je voulais savoir, comment être sure que ma règle fonctionne bien, même en cas de changement de mois ou années ?

    Exemple : que si un fichier à été placé le 25 avril, qu'il soit bien supprimé le 2 mai
    ou encore si un fichier est placé le 29 decembre qu'il soit bien supprimé le 3 janvier de l'année suivante.

    Les methode de GregorianCalendar gère t'elle cela toute seule ? Ou faut t'il vérifié années, mois, avant le jour ?

    Voila ce que j'ai écrit pour l'instant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(dateFic.add(GregorianCalendar.DAY_OF_YEAR,+7).equals(courante.get(GregorianCalendar.DAY_OF_YEAR)))
    Mais la pour le coup, je pense que qi l'année change entre les 2 date, alors le calcul sera faussé ...

    Donc voila, avant de partir dans un algo plus compliqué avec gestion des mois, années etc j'aurais aimé savoir si une "astuce avait été prévu au niveau de la classe GregorianCalendar (utilisation d'un autre GregorianCalendar.TRUC ou autre).

  2. #2
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Le sujet a été traité moult fois sur ce forum, tu trouveras des réponses sur les 15 pages précédentes, environ tous 7 posts

  3. #3
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Pourquoine pas utiliser un truc dans le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    java.util.Date date = new java.util.Date();//date d'aujourd'hui
    date.setDate(date.getDate()-7);
    Et maintenant tu vérifie que la date de création de ton fichier est égale à celle ci-dessus.


    Là tu est sûr que ta date sera reculer d'une semaine par rapport à la date courante.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    370
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 370
    Par défaut
    Nicotine, ta solution va gerer les difference de mois et d'années ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    370
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2006
    Messages : 370
    Par défaut
    Donc normalement, ceci devrait être correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public long ecartEnJour(Calendar date1,Calendar date2){
    	return (date2.getTimeInMillis()-date1.getTimeInMillis())/86400000;
    }
    J'ai tout bon

Discussions similaires

  1. comment obtenir l’intervalle de mois entre deux date
    Par looc 6699 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/02/2005, 11h08
  2. comment comparer deux dates?
    Par billoum dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/08/2004, 21h08
  3. [CR] Jours ente deux dates
    Par sbis dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 05/08/2004, 15h37
  4. [Date] Soustraction de deux dates ?
    Par Invité dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 29/03/2004, 11h54
  5. soustraire deux dates ?
    Par joejoe dans le forum SQL
    Réponses: 2
    Dernier message: 19/07/2002, 15h53

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