Bonjour,

J'ai créé différentes fonctions pour le traitement des dates, et je les tests grâce à junits !
Il se trouve que ma fonction transformant une date String -> en date String formatée jj/MM/yyyy fonctionne mal. EN effet voici le résultat retourné par ma fonction (date passé en paramètre à gauche, date retournée à droite :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
19/01/2006  :  19/01/2006
19/01/06  :  19/01/0006
19/1/2006  :  19/01/2006
1/01/2006  :  01/01/2006
19-01-2006  :  19/01/2006
1-1-06  :  01/01/0006
19 01 2006  :  19/01/2006
1 1 06  :  01/01/0006
19012006  :  19/01/2006
010106  :  01/01/0006
Voici mes fonctions :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
 
 
public class TraiterDate {
 
 
 
	/**
         * Différents formats de vérification des dates
         */
	private static final DateFormat[] formats = {
		new SimpleDateFormat("dd/MM/yyyy"),
		new SimpleDateFormat("dd MM yyyy"),
		new SimpleDateFormat("dd-MM-yyyy"),
		new SimpleDateFormat("ddMMyyyy")
	};
 
	/**
         * Format de sortie pour toutes les dates de nos applications
         */
	private static DateFormat STANDARD_DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy");
 
 
	/**
         * Initialisation des formats de date
         */
	static{
 
		for(int i=0; i<formats.length;i++)
			formats[i].setLenient(false);
	}
 
 
 
	/**
         * Fonction permettant de transformer une date au format String en date au format date si
         * le format de la date passée en paramètre correspond à un des formats que la MGPAT reconnais (table des formats)
         * @param date au format String à transformer en date
         * @return date ou null si date non reconnue
         */
	public static Date stringToDate(String date)
	{
		Date dDate = null;
 
		for(int i=0;i<formats.length;i++)
		{
			try
			{
				dDate = formats[i].parse(date);
				return dDate;
			}
			catch(Exception e){};
		}
 
		return null;
	}
 
 
	/**
         * Fonction permettant de transformer une date String en date String formatée au standard MGPAT
         * @param date au format String à transformer
         * @return date au format String  transformée en date formatée au format standard de la MGPAT, si pas reconnu return chaine vide
         */
	public static String dateCapturedToFormat(String date)
	{
		Date dDate = stringToDate(date);
		return dDate == null ? "" : STANDARD_DATE_FORMAT.format(dDate);
	}