Il n'y a rien à faire, aprés des heures de recherche intensives je ne trouve pas solution.
Je vous explique mon soucis, je dois créer un programme qui effectue certaines actions, une fois que je ferme le programme il sauvegarde les modification effectuée dans un fichier de texte.
Le programme sauvegarde donc mes données et plus particulièrement la date via ceci:
output.write( %Date" + " " + book.getPublicationDate()+ "\n");
L'inscrit donc dans mon fichier texte comme suit:
Fri Jan 01 00:00:00 CET 1971
Mais n'arrive pas à recharger la date avec ce code lors de l'utilisation suivante
1 2
| ligne = cleanStrings(ligne);
book.setPublicationDate(parseStringToDate(ligne)); |
cleanStrings(ligne) supprime simplement de %Date et effectue un trim().
Je vous donne le code de parseStringToDate qui n'a pas été réalisé par moi mais donné pour nous aider dans notre tache:
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
| private Date parseStringToDate(String s) {
Date d = null;
if (s.contains("-")){
try {
String dayRangeFormat = "dd-dd MMM yyyy";
DateFormat dayRangeDateFormat = new SimpleDateFormat(dayRangeFormat, Locale.US);
d = dayRangeDateFormat.parse(s);
} catch (ParseException e) {
try {
String monthDayRangeFormat = "MMM dd - MMM dd yyyy";
DateFormat monthDayDateFormat = new SimpleDateFormat(monthDayRangeFormat, Locale.US);
d = monthDayDateFormat.parse(s);
} catch (ParseException e1) {
try {
String dayMonthRangeFormat = "dd MMM - dd MMM yyyy";
DateFormat dayMonthRangeDateFormat = new SimpleDateFormat(dayMonthRangeFormat, Locale.US);
d = dayMonthRangeDateFormat.parse(s);
} catch (ParseException e2) {
try {
String dayMonthRangeFormat2 = "dd MMM- dd MMM yyyy";
DateFormat dayMonthRangeDateFormat2 = new SimpleDateFormat(dayMonthRangeFormat2, Locale.US);
d = dayMonthRangeDateFormat2.parse(s);
} catch (ParseException e3) {
try {
String nonsenseRangeFormat = "dd-dd yyyy yyyy";
DateFormat nonsenseRangeDateFormat = new SimpleDateFormat(nonsenseRangeFormat, Locale.US);
d = nonsenseRangeDateFormat.parse(s);
} catch (ParseException e4) {
//throw new RuntimeException(e4);
System.err.println(e4);
}
}
}
}
}
}
else{
try {
d = defaultDateFormat.parse(s);
} catch (ParseException e) {
try {
d = alternativeDateFormat.parse(s);
} catch (ParseException e1) {
throw new RuntimeException(e1);
}
}
}
return d; |
}
J'ai essayer de créer un nouveau format de date, d'utiliser les getter de la class Date rien ne fonctionne, je bloque complétement.
Je voudrais pouvoir sortir ma date sous un format MM/yyyy.
Par exemple "fév 1992"
Et aussi sous un format dd/MM/yyyy.
Par exemple "23/03/2007"
Je me rend bien compte que ma question est vague, n'hésitez pas à me demander des précisions, mais j'ai beau essayer un peu tout et n'importe quoi, lire des topic déjà existant, c'est la panne sèche. Rien ne m'apporte une solution satisfaisante.
Partager