bonjour à tous,
voici mon problème :
je récupère la date d'un fichier, java me retourne une date sous sa forme traditionnelle à savoir : "Thu Oct 02 18:22:35 CEST 2008", comment convertir cette chaine en date ?
bonjour à tous,
voici mon problème :
je récupère la date d'un fichier, java me retourne une date sous sa forme traditionnelle à savoir : "Thu Oct 02 18:22:35 CEST 2008", comment convertir cette chaine en date ?
A défaut de trouver une classe utilitaire toute faite qui te permet de récupérer une date sous une un format qui va bien, tu pourait utiliser les méthodes de la classe telles que... pour fabriquer le résultat qui te convient.
Code : Sélectionner tout - Visualiser dans une fenêtre à part getMonth
Je te conseil plutôt de te faire une petite classe avec des méthodes statiques. Ca pourra te resservir ne autre fois.
Un lien qui pourra te servir : http://java.sun.com/javase/6/docs/api/.
Dans la colonne de gauche, en haut, cherche java.util, clique dessus puis juste dans la colonne en dessous, cherche Date...
Une petite recherche sur le forum t'aurais donné la réponse depuis longtemps ...
-> Comment convertir une chaîne en Date ?
Pour obtenir une String au format qui te convient, il faut utiliser la classe SimpleDateFormat. (FAQ : Comment convertir une date en chaîne ?)
effectivement, le code de conversion d'une chaine "date sous forme Java" retourne une erreur d'exécution ?
finalement comment interpréter cette fameuse chaine
"Thu Oct 02 00:00:00 CEST 2008" à quoi correspond ce CEST, la chaine serait
"EEE MMM dd HH:mm:ss ???? YYYY" ?
réponses à suivre
@+
CEST, pour Central European Summer Time est le nom du fuseau horaire (timezone) calé à plus 2 heure par rapport au Temps Universel Coordonnée (UTC).
Il est utilisé en France pour l'heure d'été.
Sinon il faut utiliser le pattern suivant :
"EEE MMM dd HH:mm:ss z yyyy"
Le z désigne la timezone.
Attention a bien utiliser un SimpleDateFormat initialisé avec la Locale US pour pouvoir parser correctement cette date.![]()
merci à tous,
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 import java.io.*; import java.text.SimpleDateFormat; import java.util.*; import java.util.Date; public class Fichiers { static public void main(String args[]) throws Exception { File di = new File("d:/fichiers/in"); File fl[] = di.listFiles(); int j; int count=0; String str=""; String totalinfo=""; SimpleDateFormat dateStandard = new SimpleDateFormat("dd/MM/yy"); // a la française Date dateJour = new Date(); Date dateRef = dateStandard.parse("01/01/70"); FileOutputStream file2 = new FileOutputStream("d:/fichiers/ETATIN.txt"); // RAZ du fichier file2.close(); // lecture du répertoire for (j=0; j < fl.length; j++) { String filename = fl[j].getName().toString(); long datefile = fl[j].lastModified(); long dateFile2 = datefile/1000/3600/24; // nombre de jours depuis le 1/1/1970 int dateFile3 = (int) (long) dateFile2; // conversion String dateEnvoi = (deplacerDate(dateRef,dateFile3).toString()); // recup en texte sous forme US Date dateEng = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy",Locale.US).parse(dateEnvoi); // la fameuse pattern String dateFichier = new SimpleDateFormat("dd/MM/yy", Locale.FRANCE).format(dateEng); // transforme format french totalinfo = filename; FileOutputStream file = new FileOutputStream("d:/fichiers/ETATIN.txt",true); //ouverture en MAJ PrintStream printtofile = new PrintStream(file); printtofile.println(totalinfo+ " "+dateStandard.format(dateJour)+" "+dateFichier); printtofile.close(); file.close(); } } public static Date stringToDate(String sDate, String sFormat) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat(sFormat); return sdf.parse(sDate); } public static Date deplacerDate(Date dateDepartRef,int nb_jour_deplacer) { // donne la date à partir du nombre de jour depuis le 01/01/1970 Calendar calendar = Calendar.getInstance(); calendar.setTime(dateDepartRef); Calendar calendar2 = Calendar.getInstance(); calendar2.clear(); calendar2.set(calendar.get(calendar.YEAR), calendar.get(calendar.MONTH),calendar.get(calendar.DAY_OF_MONTH)+nb_jour_deplacer); return calendar2.getTime(); } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager