Cegid XRP Ultimate  |  
I3   Actualisé le 06/10/2022
XLinks - ETL
Thème "Dates"

Format des dates
Méthode "addDays(String, String, int, String)"
Méthode "addMonthes(String, String, int, String)"
Méthode "format(int, int, int, int, int, int, String)"
Méthode "formatFromPattern(String, String, String)"
Méthode "getLastDay(int, int)"
Méthode "getLogDate(String)"
Méthode "getSysDate(String)"
Méthode "nbDays(String, String)"

   Ensemble des méthodes et macros disponibles dans le thème "Dates".

Format des dates

Format des dates
Les informations suivantes sont issues de la documentation sur les API Java 1.8 et plus précisément de la classe SimpleDateFormat.

Les formats de type date et heure sont spécifiés via des chaînes des motifs selon la syntaxe exposée ci-après.

Les lettres de "A" à "Z" et de "a" à "z" qui ne sont pas entourées de guillemets sont interprétées comme des symboles.
Tout autre caractère n'est pas interprété et est donc généré tel quel dans le résultat du formatage.

   - y : année (type année ; exemples : 1996; 96)
   - M : mois (type mois ; exemples :   July; Jul; 07)
   - w : numéro de la semaine dans l'année (type nombre ; exemples : 27)
   - W : numéro de la semaine dans le mois (type nombre ; exemples : 2)
   - D : jour dans l'année (type nombre ; exemples : 189)
   - d : jour dans le mois (type nombre ; exemples : 10)
   - E : nom du jour de la semaine (type texte ; exemples : Tuesday; Tue)
   - u : numéro du jour de la semaine (type nombre ; exemples : 1)
   - a : am/pm marqueur (type texte ; exemples : PM)
   - H : heure dans la journée (0-23) (type nombre ; exemples : 0)
   - k : heure dans la journée (1-24) (type nombre ; exemples : 24)
   - K : heure en am/pm (0-11) (type nombre ; exemples : 0)
   - h : heure en am/pm (1-12) (type nombre ; exemples : 12)
   - m : minutes (type nombre ; exemples : 30)
   - s : secondes (type nombre ; exemples : 55)
   - S : millisecondes (type nombre ; exemples : 978)

Les lettres du motif peuvent être répétées dans ce dernier, car leur répétition est prise en compte dans le format produit :
   - Année :
Interprétation de l'année :

      - Si le nombre de lettres dans le motif est supérieur à 2, l'année est interprétée littéralement, indépendamment du nombre de chiffres.
      -   Sinon (modèle d'année abrégé type "y" ou "yy") : l'année est déduite en raisonnant par rapport à la date courante. L'algorithme fait en sorte que l'année issue de l'interprétation soit comprise entre [anneeCourante - 80 ans, anneeCourante + 20 ans]. Par exemple, en utilisant un modèle de "MM/dd/yy" avec une date courante au le 1er janvier 1997, la chaîne "01/11/12" serait interprétée comme étant le 11 janvier 2012, tandis que la chaîne "05/04/64 "serait interprété comme le 4 mai 1964.

   - Mois : si le nombre de lettres dans le motif est 3 ou plus, le mois est interprété en tant que texte ; dans les autres cas, il est interprété en tant que nombre.

Exemples (si la date utilisée est 2001-07-04 12:08:56) :
   Modèle : "yyyyMMdd" / Résultat : 20110704
   Modèle : "EEE, MMM d, ''yy" / Résultat : Wed, Jul 4, '01
   Modèle : "h:mm a" / Résultat : 12:08 PM
   Modèle : "YYYY-'W'ww-u" / Résultat : 2001-W27-3

Méthode "addDays(String, String, int, String)"

Signature
String addDays(String date, String startPattern, int dayNb, String   finalPattern)

Description
Ajoute ou soustrait un nombre de jours donné à une date. (documentation sur les formats des dates)

Exemple :
report("20990101 + 10 days : [$1]", xtDate.addDays("20990101", "yyyyMMdd", 10, "yyyyMMdd"));    // 20990101 + 10 days : [20990111]
report("20990101 - 10 days : [$1]", xtDate.addDays("20990101", "yyyyMMdd", -10, "yyyyMMdd"));    // 20990101 - 10 days : [20980122]

Paramètres
String date - Date de départ.
String startPattern - Format de départ.
int dayNb - Nombre de jours à ajouter ou soustraire (si négatif, soustraction).
String finalPattern - Format final.

Résultats
String - Nouvelle date calculée.

Exceptions
XTException - Si le calcul de date n'a pas pu être réalisé.

Depuis
1

Méthode "addMonthes(String, String, int, String)"

Signature
String addDays(String ps_date, String startPattern, int monthNb, String finalPattern)

Description
Ajoute ou soustrait un nombre de mois donné à une date. (documentation sur les formats des dates)

Exemple :
report("20990101 + 2 monthes : [$1]", xtDate.addMonthes("20990101", "yyyyMMdd", 2, "yyyyMMdd"));    // 2099011 + 2 monthes : [20990301]
report("20990101 - 2 monthes : [$1]", xtDate.addMonthes("20990101", "yyyyMMdd", -2, "yyyyMMdd"));    // 2099011 - 2 monthes : [20981101]

Paramètres
String date - Date de départ. Exemple : 20186021
String startPattern - Format dans lequel la date de départ est exprimée. Exemple : yyyyMMdd.
int dayNb - Nombre de mois à ajouter ou soustraire (si négatif, soustraction). Exemple : 2
String finalPattern - Format de date dans lequel le résultat doit être exprimé. Exemple : yyyyMMdd

Résultats
String - Nouvelle date calculée.

Exceptions
XTException - Si le calcul de date n'a pas pu être réalisé.

Depuis
1

Méthode "format(int, int, int, int, int, int, String)"

Signature
String format(int year, int month, int day, int hours, int minutes, int seconds, String targetFormat)

Description
Fournit le résultat du formatage de la date spécifiée. (documentation sur les formats des dates)

Exemple :
report("Formated date : [$1]", xtDate.format(2099, 12, 31, 23, 59, 59, "EEE, d MMM yyyy HH:mm:ss"));    // Formated date : [Thu, 31 Dec 2099 23:59:59]

Paramètres
int year - Années. Exemple : 2019.
int month - Mois. Exemple : 10.
int day - Jours. Exemple : 21.
int hours - Heures. Exemple : 15.
int minutes - Minutes. Exemple : 52.
int seconds - Secondes. Exemple : 32.
String targetFormat - Format. Exemple : EEE, d MMM yyyy HH:mm:ss

Résultats
String - Date formatée.

Depuis
1

Méthode "formatFromPattern(String, String, String)"

Signature
String formatFromPattern(String date, String startPattern, String finalPattern)

Description
Formate dans un format donné une date fournie dans un autre format. (documentation sur les formats des dates)

Exemple :
report("Formated date : [$1]", xtDate.formatFromPattern("20991231", "yyyyMMdd", "dd-MM-yyyy"));    //Formated date : [31-12-2099]

Paramètres
String date - Date. Exemple : 20181024.
String startPattern - Format de la date en entrée. Exemple : yyyyMMdd.
String finalPattern - Format de la date en sortie. Exemple : dd-MM-yy.

Résultats
String - Date formatée.

Exceptions
XTException - Si le formatage demandé ne peut pas être réalisé.

Depuis
1

Méthode "getLastDay(int, int)"

Signature
int getLastDay(int month, int year)

Description
Renvoie le dernier jour du mois et de l'année spécifié.

Exemple :
report("Last day of the 02/2099 : [$1]", xtDate.getLastDay(2, 2099));    // Last day of the 02/2099 : [28]

Paramètres
int month - Mois de 1 à 12. Exemple 2.
int year - Année. Exemple 1999.

Résultats
int - Dernier jour du mois pour l'année spécifiée.

Exceptions
XTException - Si la récupération du dernier jour du mois n'a pas pu aboutir

Depuis
1

Méthode "getLogDate(String)"

Signature
String getLogDate(String pattern)

Description
Renvoie la date logique pour l'utilisateur connecté présentée selon le format spécifié. (documentation sur les formats des dates)

Exemple :
report("Log date : [$1]", xtDate.getLogDate("yyyyMMdd"));    // Log date : [20180919]

Paramètres
String pattern - Format de date à appliquer.

Résultats
String - Date logique formatée.

Exceptions
XTException - Si le formatage de la date logique est en erreur.

Depuis
1

Méthode "getSysDate(String)"

Signature
String getSysDate(String pattern)

Description
Renvoie la date système présentée selon le format spécifié. (documentation sur les formats des dates)

Exemple :
report("System date : [$1]", xtDate.getSysDate("yyyyMMdd"));    // System date : [20180919]

Paramètres
String pattern - Format de date à appliquer.

Résultats
String - Date système formatée.

Exceptions
XTException - Si le formatage de la date système est en erreur.

Depuis
1

Méthode "nbDays(String, String)"

Signature
int nbDays(String date1, String date2)

Description
Renvoie le nombre de jours entre les deux dates spécifiées. (documentation sur les formats des dates)

Exemple :
report("Number of days between 20990101 and 20991231 : [$1]", xtDate.nbDays("20990101", "20991231"));    // Number of days between 20990101 and 20991231 : [364]

Paramètres
String date1 - Première date au format yyyyMMdd. Exemple : 20180112.
String date2 - Seconde date au format yyyyMMdd. Exemple : 20180215.

Résultats
int - Nombre de jours entre les deux dates.

Exceptions
XTException - Échec du calcul de la différence entre les 2 dates.

Depuis
1