Bonjour,
Je rencontre un problème dans la manipulation de dates.
J'utilise un fichier Excel que je convertis en XML et qui s'installe sur la SDCard du téléphone.
Dans ce fichier se trouve différentes colonnes dont une colonne "jour". Dans celle-ci je mets les numéros du jour qui correspondent aux samedis de chaque semaine de l’année... Je mets aussi les jours fériés quand il y en a.
Exemple: je mets 22 pour ce samedi 22/12/212 et le 25 pour mardi 25/12/12)
Voici mon code :
Ce que je veux faire :
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 // Ici j'indique les jours fériés int ferie[] = {1125}; // j'obtiens la date actuelle final Calendar c = Calendar.getInstance(); int mYear = c.get(Calendar.YEAR); int mMonth = c.get(Calendar.MONTH); int mDay = c.get(Calendar.DAY_OF_MONTH); // je récupère le numéro dans le fichier xml int cDay=c.get(Calendar.DAY_OF_WEEK); int ref = 8; int diff = ref - cDay; try { url = new java.net.URL("http://android.assistech.fr/pharmacie/" + XML); } catch (MalformedURLException e1) { e1.printStackTrace(); } Date date; if (cDay != 1) { date = new Date(mYear, mMonth, mDay + diff); for (ref = 0; ref != 8; ref++) { // je code ici pour le jour férié que je récupère au niveau de la date (1125, 11 car janvier=0 donc décembre=11 etc...) c.add(Calendar.DATE, 1); int mMonth2 = c.get(Calendar.MONTH); int mDay2 = c.get(Calendar.DAY_OF_MONTH); String tmp = String.valueOf(mMonth2) + String.valueOf(mDay2); for (int i = 0; i < ferie.length; i++) { if (tmp.equals(String.valueOf(ferie[i]))) date = new Date(mYear, mMonth, mDay + ref + 1); } } } else { date = new Date(mYear, mMonth, mDay); } int Dimproch = date.getDate();
A partir de la date du jour (aujourd'hui par exemple), l'application doit tomber sur le samedi.
Exemple : trouver le 22 dans mon fichier XML et me donner les infos du 22/12/12. A partir du 24 l'application doit me donner les infos lorsqu'un jour férié tombe dans la semaine exemple le 25 (la date du 25/12/12). Je prends ces dates en exemple mais cela doit se répéter chaque semaine de l'année et à chaque fois qu'il y a un jour férié.
Le problème :
L'application me donne directement les infos du 25 au lieu du 23.
Ce qui marche:
Sans les jours fériés ça fonctionne.
Je pense que cela vient d'une mauvaise programmation pour le jour férié vu que lorsque je me passe des jours fériés ça fonctionne.
J'ai cherché sur le forum mais je n'ai rien trouvé.
Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?
Merci d'avance pour votre aide.
Partager