LastModified (Epoch)

Résolu/Fermé
CharlEm80 Messages postés 66 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 1 août 2012 - 26 sept. 2006 à 16:01
CharlEm80 Messages postés 66 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 1 août 2012 - 27 sept. 2006 à 15:19
Bonjour à tous,

Je cherche à lire les dates des fichiers et j'ai trouvé la fonction .lastModified. Cette fonction me renvoie le nombre de milisecondes passées depuis Epoch (01/01/1970 à 00:00:00 GMT). Moi ce que j'aimerai c'est savoir si le fichier a été modifié depuis plus de X jours.

Voici comment j'ai fait mais malheureusement ça ne marche pas. Avez vous une idée de ce qui ne va pas ?

Merci

    private static void essai(File f,String s,Integer age)
    {
        Date d = new Date();
        StringPattern sTest=new StringPattern(s);
        if(sTest.matchs(f.getName()))
        {
            if(f.isFile())
            {
                if(f.lastModified()+(age*24*60*60*1000)<=(d.getSeconds()*1000))
                {
                    listFiles.add(f.getPath());
                }
            }
         }
   ...
}

4 réponses

cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 18
26 sept. 2006 à 17:17
...
à la place de ton if en gras:

Calendar cal=Calendar.getInstance ();
Calendar cal2=Calendar.getInstance ();
cal2.setTime (f.lastModified());
cal.setTime (new Date());
// on retire 10 jours à aujourd'hui
cal.add (cal.DAY_OF_YEAR,-10);
// si f.lastModified() plus vieux que 10 jours
if (cal2.before (cal)){
listFiles.add(f.getPath());
...

Bonne continuation, a+
3
cs_vychnou Messages postés 124 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 11 mai 2009 18
27 sept. 2006 à 11:15
Oui excuse:
cal2.setTime(new Date(f.lastModified());
3
CharlEm80 Messages postés 66 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 1 août 2012 1
27 sept. 2006 à 10:24
Bonjour,

Merci pour la source et l'idée ça semble pas mal mais le compilateur rale sur

cal2.setTime(f.lastModified()); car il ne peut pas mettre du long dans le setTime.

f.lastModified() renvoie le nombre de milisecondes depuis le 01/01/1970 ce qui donne un beau nombre de type long.

donc voilà comment puis-je mettre ma variable long dans une variable de type Calendar ?

Merci
0
CharlEm80 Messages postés 66 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 1 août 2012 1
27 sept. 2006 à 15:19
Ca marche nickel merci beaucoup.
0
Rejoignez-nous