Class Datutil

java.lang.Object
eu.telecomsudparis.csc4102.util.Datutil

public final class Datutil extends Object
Classe utilitaire pour la gestion des dates. Afin de tester les operations de vos application, la date du jour est simulee par un attribut de classe (dateDeTest) initialisee a la date du jour reelle lors du chargement de la classe et des operations de classe permettent de changer cette date et de la comparer. Une date est en terme JAVA une LocalDate et ne retient que le jour. C'est pour cela qu'un mecanisme similaire est disponible avec l'attribut de classe instantDeTest, qui lui mesure le temps en nanosecondes. Par exemple, vous obtenez le jour courant avec la methode aujourdhui() et l'instant courant avec la methode maintenant(). Les operations sont toutes des operations de classe. C'est une bibliotheque ; la classe est donc final.
  • Method Details

    • dateDuTest

      public static LocalDate dateDuTest()
      retourne la date (jour) de test.
      Returns:
      Date de test
    • instantDuTest

      public static Instant instantDuTest()
      retourne l'instant de test.
      Returns:
      instant de test
    • aujourdhui

      public static LocalDate aujourdhui()
      retourne le jour courant (potentiellement different du jour du test).
      Returns:
      jour courant
    • maintenant

      public static Instant maintenant()
      retourne l'instant courant (potentiellement different de l'instant du test).
      Returns:
      instant courant
    • dateEstAujourdhui

      public static boolean dateEstAujourdhui(LocalDate date)
      compare la date avec aujourd'hui : vrai si aujourd'hui.
      Parameters:
      date - la date a comparer avec le jour courant.
      Returns:
      vrai si aujourd'hui
      Throws:
      IllegalArgumentException - si date est null
    • memeJour

      public static boolean memeJour(LocalDate premiereDate, LocalDate secondeDate)
      établit si deux dates correspondent au même jour.
      Parameters:
      premiereDate - la premiere date a comparer avec la seconde.
      secondeDate - la seconde date a comparer avec la seconde.
      Returns:
      vrai si même jour
    • memeInstant

      public static boolean memeInstant(Instant premierInstant, Instant secondInstant)
      établit si deux instants correspondent aux memes jour, heure, minute, seconde, etc.
      Parameters:
      premierInstant - le premier instant a comparer avec le second.
      secondInstant - le second instant a comparer avec le second.
      Returns:
      vrai si même instant
    • dateEstAvantAujourdhui

      public static boolean dateEstAvantAujourdhui(LocalDate date)
      compare la date avec aujourd'hui : vrai si avant aujourd'hui.
      Parameters:
      date - la date a comparer avec le jour courant.
      Returns:
      vrai si avant aujourd'hui
    • dateEstAvant

      public static boolean dateEstAvant(LocalDate premiereDate, LocalDate secondeDate)
      compare deux dates : vrai si premiere date avant seconde.
      Parameters:
      premiereDate - la premiere date a comparer avec la seconde.
      secondeDate - la seconde date a comparer avec la premiere.
      Returns:
      vrai si premiere date avant seconde date.
    • instantEstAvant

      public static boolean instantEstAvant(Instant premierInstant, Instant secondInstant)
      compare deux instants : vrai si premier instant avant second.
      Parameters:
      premierInstant - le premier instant a comparer avec le seconde.
      secondInstant - le second instant a comparer avec le premier.
      Returns:
      vrai si premier instant avant second instant.
    • dateEstAvantOuAujourdhui

      public static boolean dateEstAvantOuAujourdhui(LocalDate date)
      compare la date avec aujourd'hui : vrai si avant aujourd'hui ou aujourd'hui.
      Parameters:
      date - la date a comparer avec le jour courant.
      Returns:
      vrai si avant aujourd'hui ou aujourd'hui
    • dateEstApresAujourdhui

      public static boolean dateEstApresAujourdhui(LocalDate date)
      compare la date avec aujourd'hui : vrai si apres aujourd'hui.
      Parameters:
      date - la date a comparer avec le jour courant.
      Returns:
      vrai si apres aujourd'hui
    • dateEstApresOuAujourdhui

      public static boolean dateEstApresOuAujourdhui(LocalDate date)
      compare la date avec aujourd'hui : vrai si apres aujourd'hui ou aujourd'hui.
      Parameters:
      date - la date a comparer avec le jour courant.
      Returns:
      vrai si apres aujourd'hui ou aujourd'hui
    • ajouterJoursALaDateDuTest

      public static void ajouterJoursALaDateDuTest(int nbjours)
      change la date du jour (pour les tests) en additionnant le nombre de jours indique.
      Parameters:
      nbjours - Nombre de jours a ajouter
    • retirerJoursALaDateDuTest

      public static void retirerJoursALaDateDuTest(int nbjours)
      change la date du jour (pour les tests) en retirant le nombre de jours indique.
      Parameters:
      nbjours - Nombre de jours a retirer
    • ajouterJoursALInstantDuTest

      public static void ajouterJoursALInstantDuTest(int nbjours)
      change l'instant du jour (pour les tests) en additionnant le nombre de jours indique.
      Parameters:
      nbjours - Nombre de jours a ajouter
    • retirerJoursALInstantDuTest

      public static void retirerJoursALInstantDuTest(int nbjours)
      change l'instant du jour (pour les tests) en retirant le nombre de jours indique.
      Parameters:
      nbjours - Nombre de jours a retirer
    • ajouterSecondesALInstantDuTest

      public static void ajouterSecondesALInstantDuTest(long nbseconds)
      change l'instant du jour (pour les tests) en additionnant le nombre de second indique.
      Parameters:
      nbseconds - Nombre de secondes a ajouter
    • retirerSecondesALInstantDuTest

      public static void retirerSecondesALInstantDuTest(int nbseconds)
      change l'instant du jour (pour les tests) en retirant le nombre de secondes indique.
      Parameters:
      nbseconds - Nombre de secondes a retirer
    • ajouterJoursADate

      public static LocalDate ajouterJoursADate(LocalDate date, int nbJours)
      calcule une nouvelle date a partir d'une date et d'un nombre de jours a ajouter.
      Parameters:
      date - Date initiale
      nbJours - Nombre de jours a ajouter
      Returns:
      Nouvelle date calculee
    • retirerJoursADate

      public static LocalDate retirerJoursADate(LocalDate date, int nbJours)
      calcule une nouvelle date a partir d'une date et d'un nombre de jours a retirer.
      Parameters:
      date - Date initiale
      nbJours - Nombre de jours a retirer
      Returns:
      Nouvelle date calculee
    • ajouterJoursAInstant

      public static Instant ajouterJoursAInstant(Instant instant, int nbJours)
      calcule un nouvel instant a partir d'un instant et d'un nombre de jours a ajouter.
      Parameters:
      instant - instant initial.
      nbJours - Nombre de jours a ajouter.
      Returns:
      Nouvel instant date calcule.
    • retirerJoursAInstant

      public static Instant retirerJoursAInstant(Instant instant, int nbJours)
      calcule un nouvel instant a partir d'un instant et d'un nombre de jours a retirer.
      Parameters:
      instant - instant initial
      nbJours - Nombre de jours a retirer
      Returns:
      Nouvel instant calcule
    • ajouterAInstant

      public static Instant ajouterAInstant(Instant instant, ChronoUnit unite, int quantite)
      calcule un nouvel instant a partir d'un instant, de l'unite de la periode, et de la quantite de cette unite a ajouter.
      Parameters:
      instant - instant initial
      unite - unite de la periode.
      quantite - quantite a ajouter.
      Returns:
      Nouvel instant calcule.
    • retirerAInstant

      public static Instant retirerAInstant(Instant instant, ChronoUnit unite, int quantite)
      calcule un nouvel instant a partir d'un instant, de l'unite de la periode, et de la quantite de cette unite a retirer.
      Parameters:
      instant - instant initial
      unite - unite de la periode.
      quantite - quantite a retirer.
      Returns:
      Nouvel instant calcule.
    • dateToString

      public static String dateToString(LocalDate date)
      convertit une date en chaine de caracteres au format francais.
      Parameters:
      date - Date a convertir au format francais (jj/mm/aa)
      Returns:
      Date convertie en chaine de caracteres
    • instantToString

      public static String instantToString(Instant instant)
      convertit un instant en chaine de caracteres au format francais.
      Parameters:
      instant - instant a convertir au format francais (jj/mm/aa)
      Returns:
      Date convertie en chaine de caracteres
    • dateToSqlValues

      public static String dateToSqlValues(LocalDate date)
      convertit une date en chaine de caracteres au format francais.
      Parameters:
      date - Date a convertir au format JDBC correspondant a la locale
      Returns:
      Date convertie en chaine de caracteres
    • dateToSqlValues

      public static String dateToSqlValues(Instant instant)
      convertit une date en chaine de caracteres au format francais.
      Parameters:
      instant - Date a convertir au format JDBC correspondant a la locale
      Returns:
      Date convertie en chaine de caracteres
    • setDbLocale

      public static void setDbLocale(Locale newLocale)
      permet de changer de locale si la valeur par défaut (FRANCE) ne convient pas.
      Parameters:
      newLocale - la nouvelle locale.