Routines de type TalendDate - 7.1

Guide utilisateur de Talend Data Services Platform Studio

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Data Services Platform
task
Création et développement
EnrichPlatform
Studio Talend

Les routines de traitement de dates (TalendDate) permettent d'effectuer différents types d'opération et de vérification sur le format des expressions de type Date.

Pour accéder à ces routines, double-cliquez sur la classe TalendDate du dossier system :

Routine

Description

Syntaxe

addDate

Ajoute n jours, n mois, n heures, n minutes ou n secondes à une Date Java et retourne la nouvelle date.

Le paramètre de format de données Date est : yyyy, MM, dd, HH, mm, ss ou SSS.

TalendDate.addDate("Chaîne de date initiale", "format de date - ex: yyyy/MM/dd", entier n,"format de la donnée à ajouter - ex : yyyy").

compareDate

Compare tout ou partie de deux dates, selon le modèle de date si spécifié. Retourne 0 si les dates sont identiques, -1 si la première date est antérieure et 1 si la deuxième est antérieure.

TalendDate.compareDate(Date date1, Date date2, "format à comparer - ex : yyyy-MM-dd ")

diffDate

Retourne la différence entre deux dates, en nombre de jours, mois ou années selon le paramètre de comparaison spécifié.

TalendDate.diffDate(Date1(), Date2(), "format de données à comparer - ex yyyy")

diffDateFloor

Retourne la différence entre deux dates, en nombre d'années, mois, jours, heures, minutes, secondes ou millisecondes selon le paramètre de comparaison spécifié.

TalendDate.diffDateFloor(Date1(), Date2(), "format de données à comparer - ex MM")

formatDate

Retourne une expression de type date formatée selon le modèle de date spécifié.

TalendDate.formatDate("format de date - ex : yyyy-MM-dd HH:mm:ss ", Date() à formater)

formatDateLocale

Transforme une date en une chaîne de caractères de type date/heure selon le modèle et la locale spécifiés.

TalendDate.formatDateLocale("format cible", java.util.Date date, "code de la langue ou du pays")

getCurrentDate

Retourne la date courante. Aucun paramètre d'entrée n'est attendu.

TalendDate.getCurrentDate()

getDate

Retourne les date et heure courantes dans le format spécifié (optionnel). Cette chaîne peut contenir des chaînes de caractères fixes, ou des variables liées à la date. Par défaut, le format de la chaîne de caractères attendu est DD/MM/CCYY.

TalendDate.getDate("Format of the string - ex: CCYY-MM-DD")

getFirstDayOf Month

Change le jour d'une date en premier jour du mois courant et retourne la nouvelle date.

TalendDate.getFirstDayMonth(Date)

getLastDayOf Month

Change le jour d'une date en dernier jour du mois courant et retourne la nouvelle date.

TalendDate.getLastDayMonth(Date)

getPartOfDate

Retourne une partie d'une date dans le format spécifié. Cette chaîne peut contenir des chaînes de caractères fixes, ou des variables liées à la date.

TalendDate.getPartOfDate("Chaîne de caractères indiquant la partie de la date à récupérer", "Chaîne de caractères au format date à parser")

getRandomDate

Retourne une date aléatoire, au format ISO.

TalendDate.getRandomDate("Chaîne de caractère de type Date, de ", String maxDate)

isDate

Vérifie si l'expression est de type Date et correspond au modèle spécifié. Retourne le booléen true si c'est le cas, et false dans le cas inverse.

TalendDate.isDate(Date() à vérifier, "format de date cible - ex : yyyy-MM-dd HH:mm:ss ")

parseDate

Transforme une chaîne de caractères en Date. Retourne une date formatée en standard.

TalendDate.parseDate("format date de la chaîne à parser", "Chaîne de caractères au format date à parser")

parseDateInUTC

modifie une chaîne de caractères en une Date UTC. Retourne une date au format UTC.

TalendDate.parseDateInUTC("format date de la chaîne à parser", "chaîne de caractères au format date à parser", "booléen indiquant si le parsing est Lenient, c'est-à-dire accepte la correspondance heuristique avec le format")

parseDateLocale

Parse une chaîne de caractères correspondant à un modèle spécifié, et en extrait une date. Retourne une date formatée selon la locale spécifiée.

TalendDate.parseDateLocale("format date de la chaîne à parser", "Chaîne de caractères au format date à parser", "code de la langue ou du pays")

setDate

Modifie une partie de la date en entrée par un entier spécifié et basé sur le format spécifié.

TalendDate.setDate(Date, entier n, "format de la donnée à changer - ex :yyyy")

TO_CHAR

Convertit une date en une chaîne de caractères.

TalendDate.TO_CHAR(date[,format])

  • date : valeur de la date à convertir en une chaînes de caractères.
  • format : chaîne de caractères définissant le format de la valeur à retourner.

TO_DATE

Convertit une chaîne de caractères en un type Date/Time.

TalendDate.TO_DATE(string[, format])

  • string : chaîne de caractères à convertir en type Date/Time.
  • format : chaîne de caractères de format correspondant à la partie de l'argument string. Si elle n'est pas spécifiée, la valeur string doit être au format de date MM/dd/yyyy HH:mm:ss.SSS.

Par exemple, TalendDate.TO_DATE("04/24/2017 13:55:42.123") retourne Mon Apr 24 13:55:42 CST 2017.

ADD_TO_DATE

Ajoute une somme spécifiée à une partie d'une valeur datetime et retourne une date au même format que la date passée à la fonction.

TalendDate.ADD_TO_DATE(date, format, amount)

  • date : valeur de la date à modifier.
  • format : chaîne de caractères de format spécifiant la partie de la valeur de date à modifier.
    • Chaînes de caractères de format valides pour les années : Y, YY, YYY, and YYYY.
    • Chaînes de caractères de format valides pour les mois : MONTH, MM, and MON.
    • Chaînes de caractères de format valides pour les jours : D, DD, DDD, DAY, and DY.
    • Chaînes de caractères de format valides pour les heures : HH, HH12, and HH24.
    • Chaîne de caractères de format valide pour les minutes : MI.
    • Chaîne de caractères de format valide pour les secondes : SS.
    • Chaîne de caractères de format valide pour les millisecondes : MS.
  • amount : la valeur de l'entier spécifiant la somme des années, mois, jours, heures, etc via laquelle vous souhaitez modifier la valeur de la date.

Par exemple :

si TalendDate.getCurrentDate() retourne Mon Apr 24 14:26:03 CST 2017,

TalendDate.ADD_TO_DATE(TalendDate.getCurrentDate(), "YY", 1) va retourner Tue Apr 24 14:26:03 CST 2018.

Avertissement :

Dans un format de date, "yyyy" et "YYYY" retournent la même année dans la plupart des cas.

  • Cependant, il est possible que le format "YYYY" ne fonctionne pas comme attendu, lorsqu'il est utilisé :
  • pour la première semaine de l'année, si l'année ne commence pas par le premier jour de la semaine ;

Par exemple, lorsque vous calculez le jour venant trois jours avant le 2 janvier 2016, le code ci-dessous retourne une date incorrecte :

System.out.println(TalendDate.formatDate("YYYY-MM-dd", TalendDate.addDate(TalendDate.TO_DATE("01/02/2016 08:10:30.123"), -3, "dd")));

alors que ce code-ci retourne la date attendue :

System.out.println(TalendDate.formatDate("yyyy-MM-dd", TalendDate.addDate(TalendDate.TO_DATE("01/02/2016 08:10:30.123"), -3, "dd")));

Il est donc recommandé d'utiliser "yyyy", qui représente les années calendaires.