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

API standards et tierces Java Discussion :

Interval de date pour un jour précis


Sujet :

API standards et tierces Java

  1. #1
    Membre actif
    Profil pro
    Développeur Back-End
    Inscrit en
    Août 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2003
    Messages : 138
    Points : 265
    Points
    265
    Par défaut Interval de date pour un jour précis
    Bonjour,
    J'ai un petit programme en Java 8. Voici mon problème :
    J'ai une variable date (genre 2021-07-14) et je voudrais obtenir 2 variables pour avoir le début et la fin de la journée (ici je voudrais une variable "debut" qui vaut "2021-07-14T00:00:00Z" et une variable "fin" qui vaut "2021-07-14T23:59:59Z")

    Avez vous une idée de comment faire ça ?

    Merci à vous,

    Axel

  2. #2
    Membre actif
    Profil pro
    Développeur Back-End
    Inscrit en
    Août 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2003
    Messages : 138
    Points : 265
    Points
    265
    Par défaut
    Je me répond à moi même, j'ai trouvé en faisant ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    System.out.println("batch pour : "+date);
    		Calendar cal = Calendar.getInstance();
    		cal.setTime(date);
    		cal.set(Calendar.HOUR_OF_DAY, 0);
    		cal.set(Calendar.MINUTE, 0);
    		cal.set(Calendar.SECOND, 0);
    		Date debut = cal.getTime();
    		System.out.println("debut : "+debut);
    		cal.set(Calendar.HOUR, 23);
    		cal.set(Calendar.MINUTE, 59);
    		cal.set(Calendar.SECOND, 59);
    		Date fin = cal.getTime();
    		System.out.println("fin : "+fin);

  3. #3
    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
    Hello,

    je te suggère de vérifier si tu n'as pas aussi besoin de gérer les millisecondes en les mettant à 999.

    En effet, dans la String "2021-07-14T23:59:59Z" les millisecondes ne sont pas précisées donc sans importance. Mais dans un objet java.util.Date, tel que tu le construis, il en existe 999 autres qui sont après celui que tu construis et avant le jour suivant. Ce sont les millisecondes qui ne sont pas à zéro.

    A noter également que ce genre de choses sont plus simples à gérer avec l'API java.time plutôt qu'avec les java.util.Date et java.util.Calendar obsolètes.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [OpenOffice][Texte] format date pour le1er jour du mois
    Par jeca dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 08/04/2014, 10h21
  2. [AC-2007] Problème de Date pour les jours entre (1 et 12)
    Par FewRa dans le forum IHM
    Réponses: 2
    Dernier message: 10/12/2012, 10h04
  3. manipulation de date pour chaque jour du mois
    Par renardchan dans le forum Requêtes
    Réponses: 3
    Dernier message: 09/06/2011, 22h00
  4. Fonction pour avancer la date d'un jour
    Par Invité dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 10/05/2007, 12h05
  5. Réponses: 2
    Dernier message: 24/11/2006, 13h20

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