# Probleme mit lastModified



## Nacken (21. Nov 2007)

Hallo Zusammen,

Ich habe ein Programm geschrieben, welches mir Dateien aus einem Verzeichnis sucht und in ein anderes Verzeichnis verschiebt und dabei eine neue Verzeichnisstruktur anhand des Attributes lastModified aufbaut. (yyyy/MM/dd)

Das ganze schien auch erstmal zu funktionieren, jedoch habe ich folgendes Problem:

Wenn ich eine Datei habe, die zur Sommerzeit geändert wurde sagt Windows mir Beispielsweise, dass die Datei um 23:46 geändert wurde.
Wenn ich das Attribut lastModified dann unter Java auslese steht da 00:46 Zentraleuropäische Sommerzeit.
Somit wird die Datei auch in den "falschen" Ordner verschoben, so dass ich im Windows-Explorer in einem Ordner auch immer die Dateien der letzten Stunde des Vortags angezeigt bekomme.

Ist das ein Fehler von Windows? Oder mache ich noch irgendwas falsch?

Gruß
Dennis


----------



## sliwalker (21. Nov 2007)

Nimm nicht nur lastModified, sondern erstell mit dem Datum einen GregorianCalendar. Setz die Zeitzone und mit getTime solltest dann die Dateien richtig sortieren können.


----------



## Nacken (26. Nov 2007)

Funktioniert leider auch nicht.

Auch wenn ich den Timestamp in einen GregorianCalendar packe gibt mir Java eine andere Zeit aus als Windows.

Vielleicht mache ich ja was falsch?

File f = new File ("C:\\test\\Archived59943.dmp");
GregorianCalendar x = new GregorianCalendar(TimeZone.getTimeZone("Europe/Berlin"));
x.setTimeInMillis(f.lastModified());
System.out.println(new SimpleDateFormat("yyyy.MM.dd 'at' HH:mm:ss zzzz").format(x.getTime()));


Ausgegeben wird von Java:
2007.09.14 at 00:48:10 Zentraleuropäische Sommerzeit

Windows sagt zur gleichen Datei:
13.09.2007 23:48


Hat jemand noch eine Idee?


----------



## HoaX (26. Nov 2007)

```
File f = new File("a");
System.out.println(new Date(f.lastModified()));
```

also hier wird die zeit korrekt zurückgegeben. ich würde mal behaupten dein java weiß nicht in welcher zeitzone du bist. mal probiert unter windows in den einstellungen die zeitzone neu zu setzen?


----------



## Nacken (26. Nov 2007)

Für ein Datum aus der Winterzeit ist die Zeit gleich, aber wenn ich eine Datei mit Zeit aus der Sommerzeit nehme bekomme ich das Problem.

Ich überlege ja immernoch, ob das nicht vielleicht ein "Problem" von Windows ist.


----------

