Package eu.telecomsudparis.csc4102.util
Class Datutil
java.lang.Object
eu.telecomsudparis.csc4102.util.Datutil
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 Summary
Modifier and TypeMethodDescriptionstatic 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.static LocalDate
ajouterJoursADate
(LocalDate date, int nbJours) calcule une nouvelle date a partir d'une date et d'un nombre de jours a ajouter.static Instant
ajouterJoursAInstant
(Instant instant, int nbJours) calcule un nouvel instant a partir d'un instant et d'un nombre de jours a ajouter.static void
ajouterJoursALaDateDuTest
(int nbjours) change la date du jour (pour les tests) en additionnant le nombre de jours indique.static void
ajouterJoursALInstantDuTest
(int nbjours) change l'instant du jour (pour les tests) en additionnant le nombre de jours indique.static void
ajouterSecondesALInstantDuTest
(long nbseconds) change l'instant du jour (pour les tests) en additionnant le nombre de second indique.static LocalDate
retourne le jour courant (potentiellement different du jour du test).static LocalDate
retourne la date (jour) de test.static boolean
compare la date avec aujourd'hui : vrai si apres aujourd'hui.static boolean
compare la date avec aujourd'hui : vrai si apres aujourd'hui ou aujourd'hui.static boolean
dateEstAujourdhui
(LocalDate date) compare la date avec aujourd'hui : vrai si aujourd'hui.static boolean
dateEstAvant
(LocalDate premiereDate, LocalDate secondeDate) compare deux dates : vrai si premiere date avant seconde.static boolean
compare la date avec aujourd'hui : vrai si avant aujourd'hui.static boolean
compare la date avec aujourd'hui : vrai si avant aujourd'hui ou aujourd'hui.static String
dateToSqlValues
(Instant instant) convertit une date en chaine de caracteres au format francais.static String
dateToSqlValues
(LocalDate date) convertit une date en chaine de caracteres au format francais.static String
dateToString
(LocalDate date) convertit une date en chaine de caracteres au format francais.static Instant
retourne l'instant de test.static boolean
instantEstAvant
(Instant premierInstant, Instant secondInstant) compare deux instants : vrai si premier instant avant second.static String
instantToString
(Instant instant) convertit un instant en chaine de caracteres au format francais.static Instant
retourne l'instant courant (potentiellement different de l'instant du test).static boolean
memeInstant
(Instant premierInstant, Instant secondInstant) établit si deux instants correspondent aux memes jour, heure, minute, seconde, etc.static boolean
établit si deux dates correspondent au même jour.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.static LocalDate
retirerJoursADate
(LocalDate date, int nbJours) calcule une nouvelle date a partir d'une date et d'un nombre de jours a retirer.static Instant
retirerJoursAInstant
(Instant instant, int nbJours) calcule un nouvel instant a partir d'un instant et d'un nombre de jours a retirer.static void
retirerJoursALaDateDuTest
(int nbjours) change la date du jour (pour les tests) en retirant le nombre de jours indique.static void
retirerJoursALInstantDuTest
(int nbjours) change l'instant du jour (pour les tests) en retirant le nombre de jours indique.static void
retirerSecondesALInstantDuTest
(int nbseconds) change l'instant du jour (pour les tests) en retirant le nombre de secondes indique.static void
setDbLocale
(Locale newLocale) permet de changer delocale
si la valeur par défaut (FRANCE) ne convient pas.
-
Method Details
-
dateDuTest
retourne la date (jour) de test.- Returns:
- Date de test
-
instantDuTest
retourne l'instant de test.- Returns:
- instant de test
-
aujourdhui
retourne le jour courant (potentiellement different du jour du test).- Returns:
- jour courant
-
maintenant
retourne l'instant courant (potentiellement different de l'instant du test).- Returns:
- instant courant
-
dateEstAujourdhui
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
- sidate
estnull
-
memeJour
é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
é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
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
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
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
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
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
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
calcule une nouvelle date a partir d'une date et d'un nombre de jours a ajouter.- Parameters:
date
- Date initialenbJours
- Nombre de jours a ajouter- Returns:
- Nouvelle date calculee
-
retirerJoursADate
calcule une nouvelle date a partir d'une date et d'un nombre de jours a retirer.- Parameters:
date
- Date initialenbJours
- Nombre de jours a retirer- Returns:
- Nouvelle date calculee
-
ajouterJoursAInstant
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
calcule un nouvel instant a partir d'un instant et d'un nombre de jours a retirer.- Parameters:
instant
- instant initialnbJours
- Nombre de jours a retirer- Returns:
- Nouvel instant calcule
-
ajouterAInstant
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 initialunite
- unite de la periode.quantite
- quantite a ajouter.- Returns:
- Nouvel instant calcule.
-
retirerAInstant
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 initialunite
- unite de la periode.quantite
- quantite a retirer.- Returns:
- Nouvel instant calcule.
-
dateToString
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
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
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
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
permet de changer delocale
si la valeur par défaut (FRANCE) ne convient pas.- Parameters:
newLocale
- la nouvelle locale.
-