Il existe un bogue sur la méthode TalendDate.compareDate (Date d1, Date d2, String pattern).
En effet le résultat est faux si le paramètre « pattern » est défini avec le format « dd/MM/yyyy ».
Pour rappel :
• CompareDate retourne 0 si d1 = d2
• CompareDate retourne 1 si d1 > d2
• CompareDate retourne -1 si d1 < d2
Exemple dans un tJava :
//On vérifie que le 28/02/2008 est bien inférieur à Sysdate (19/05/2011) Date DT_FIN = TalendDate.parseDate("dd/MM/yyyy", "28/02/2008"); //Avec le pattern à la française, la méthode retourne 1 => KO System.out.println(TalendDate.compareDate(DT_FIN, TalendDate.getCurrentDate(), "dd/MM/yyyy")); //Avec le pattern anglophone, la méthode retourne -1 => OK System.out.println(TalendDate.compareDate(DT_FIN, TalendDate.getCurrentDate(), "yyyy/MM/dd"));