Mal wieder Probleme mit Date

mysticado

Aktives Mitglied
Hallo Leute,
also ich möchte von meinem Linux-Server die Zeit des letzten Shutdowns auslesen und diese Zeit dann per Java in Millisekunden umwandeln, um weitere Vergleiche anstellen zu können.
Nun habe ich soweit auch schon alles programmiert - das Datum wird mir in Millis zurückgegeben, doch wenn ich mir die Millis wieder zurücktransferieren möchte bekomme ich immer einen vollkommen anderen Wert. Könnt ihr mal über meinen Code drüberschauen?
Ein Beispiel habt ihr unter der Variable "String linuxDate":

Code:
String linuxDate = "shutdown system down  2.6.32-28-generi Thu Sep 22 14:21 - 14:21  (00:00)";
	    String[] temp = linuxDate.trim().replaceAll("\\s+", " ").split(" ");
	    String str_date=temp[6]+"-"+temp[5]+"-11 "+temp[7]+":00";
               // Bsp: str_date = "22-Sep-11 14:21:00"

	    SimpleDateFormat sdfToDate = new SimpleDateFormat("dd-MMM-yy HH:mm:ss");
	    Date date1 = sdfToDate.parse(str_date);
	    System.out.println("Date in Millis: " +date1.getTime() );

Als Ergebnis aus dem oberen Code erhalte ich folgenden Wert: 1316697693000

Wenn ich diesen Code nun z.B. auf dieser Seite ( Link ) eingebe, erhalte ich als Ergebnis: Thu Sep 22 09:21:33

Wo hakt es denn???
 
S

SlaterB

Gast
da warst du aber sparsam an eigenen Bemühungen, du könntest doch in Java das Date-Objekt ausgeben,
falls du nicht eh schon sicher bist, dass es zumindest für Java das korrekte Datum ist,

außerdem kann man auf der Seite auch ein normales Datum eintippen,
gut dass dann eine abweichende Millisekundenzahl herauskommt passt zum ersten Problem, bringt einen nicht unbedingt weiter,

1316697693000 erhalte ich übrigens nicht, sondern
1316694060000, auf der Webseite dann exakt 8:21, 6 Stunden Abweichung,
und auf der Webseite steht auch die Lösung: 'Thu Sep 22 08:21:00 EDT 2011',
EDT ist Eastern Time Zone - Wikipedia, the free encyclopedia aus Nordamerika, da sind 6 Stunden Abweichung keine Überraschung

------

:00 zu ergänzen nur um Sekunden zu parsen kannst du dir übrigens sparen, falls das Pattern nicht zwingend so lauten muss,
die :33-Sekunden in deinem Beispiel sind angesichts dessen umso rätselhafter
 

Lumaraf

Bekanntes Mitglied
Der Timestamp ist genau richtig, nur das Tool formatiert den Timestamp für eine andere Zeitzone. In dem Fall ist das EDT, was der US-Ostküste entspricht.
 

jgh

Top Contributor
also wenn ich dein Code-Bsp ausführe erhalte ich:

Code:
Date in Millis: 1316694060000
im Gegensatz zu dem was du postest [c]1316697693000[/c]

Daraus kommt auf deiner geposteten Seite dann

1.316.694.060.000 is Thu Sep 22 08:21:00 EDT 2011

Der Rest ergibt sich aus der Differenz der EDT zu unserer Zeit...und nicht die Sommerzeit vergessen!

EDIT:
Meine Güte bin ich langsam... :(
 

mysticado

Aktives Mitglied
Hehe Respekt Leute! Das Antworten klappt ja ganz schnell hier im Forum! Thumbs up!

Jetzt scheint aber nichts mehr zu wollen, grrr!
Hier der neue String:
String linuxDate = "shutdown system down 2.6.32-28-generi Thu Sep 22 19:58 - 19:58 (00:00)";

Als Ergebnis bekomme ich nun : 1316717880000

Das passt jetzt irgendwie aber gar nicht mehr?!?!?!

Mensch ich bin an diesem Sch*** schon langsam am verzweifeln. Also, um es kurz zu erklären...ich muss ein Skript erstellen welches schaut welcher von meinen 3 Rechnern als letzter runtergefahren wurde, d.h. ich muss die Zeiten vergleichen (also: if Zeit1 < Zeit2) und deswegen brauche ich die Millisekunden.
Das Problem, das ich bei meinem Code habe ist, ich habe Angst, dass die Zeit nicht irgendwie falsch aus dem Datum berechnet wird. Any help? :)
 
S

SlaterB

Gast
1316717880000 ist 20:28, eine Stunde Abweichung, woher weißt du eigentlich dass das nicht der richtige Wert ist?

was liefert
System.out.println(sdfToDate.getTimeZone());
?
 

mysticado

Aktives Mitglied
Naja ich war der Annahme, dass der Wert falsch ist, weil mir die oben genannt Webseite nun das lieferte: 1.316.717.880.000 is Thu Sep 22 14:58:00 EDT 2011, obwohl es ja eigentlich 20:28 sein müsste (natürlich mit den paar Stunden Zeitunterschied).

Folgendes liefert der TimeZone-Befehl:

sun.util.calendar.ZoneInfo[id="Europe/Berlin",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Berlin,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]]

Passt doch eigtl, oder?
 
S

SlaterB

Gast
in der Tat für mich bisher nicht zu verstehen,
noch mal mit separaten abgeschlossenen Programm versuchen:
Java:
public class Test {
	public static void main(String[] args) throws Exception {
		System.out.println("start");
		String str_date = "22-Sep-11 19:58:00";
		System.out.println(str_date);
		SimpleDateFormat sdfToDate = new SimpleDateFormat("dd-MMM-yy HH:mm:ss");
		sdfToDate.setTimeZone(TimeZone.getTimeZone("Europe/Berlin"));
		Date date1 = sdfToDate.parse(str_date);
		System.out.println("Date in Millis: " + date1.getTime());
		System.out.println("Date: " + date1);
	}
}
liefert bei dir nicht folgende Ausgabe?:
Code:
start
22-Sep-11 19:58:00
Date in Millis: 1316714280000
Date: Thu Sep 22 19:58:00 CEST 2011
 

mysticado

Aktives Mitglied
Tja, es hat wohl nicht anders gewollt, als dass es doch jemand für mich fertigstellt, bzw. debuggt!
Vielen Dank für die Hilfe! So klappt's nun :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
J javac Probleme mal wieder Java Basics - Anfänger-Themen 6
K Jcreator arbeitet wieder aber trotzdem probleme mit de Java Basics - Anfänger-Themen 7
J probleme beim wieder aufruf Java Basics - Anfänger-Themen 2
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
W In alten Code zurück- und dort wieder zurechtfinden? Java Basics - Anfänger-Themen 17
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
Temsky34 Wie bekomme ich dieses Java-Warning wieder weg? Java Basics - Anfänger-Themen 2
T j.u.Scanner(Sys.in).nextLine() wieder schließen? Java Basics - Anfänger-Themen 5
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
O Text mit Regex trennen und wieder zusammenbauen Java Basics - Anfänger-Themen 5
Naxon89 Input/Output Ein PDF in einem BLOB umwandeln um ihn dann als PDF wieder anzuzeigen Java Basics - Anfänger-Themen 3
H JavaFX Hintergrundfarbe ändern, warten, Hintergrundfarbe wieder ändern Java Basics - Anfänger-Themen 34
MichelNeedhelp Brauche zu diesem Labyrinth ein Skript? Der Hamster soll im Urzeigersinn das ganze Labyrinth abgehen und wieder an seinem Ursprungsplatz sein. Java Basics - Anfänger-Themen 40
D Codeblöcke, die immer wieder im Programmverlauf benötigt werden Java Basics - Anfänger-Themen 5
TimoN11 Array -> Schleife wieder von vorne durchlaufen lassen Java Basics - Anfänger-Themen 1
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
J Selektiertes Element von jComboBox zwischenspeichern und wieder einsetzen Java Basics - Anfänger-Themen 0
S Nutzereingabe splitten und in string array wieder ausgeben. Java Basics - Anfänger-Themen 1
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
N Wie kann ich einen String wieder zusammensetzen und ausgeben lassen? Java Basics - Anfänger-Themen 9
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
M Array immer wieder um ein Element erweitern Java Basics - Anfänger-Themen 6
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
J Geld speichern und wieder auslesen Java Basics - Anfänger-Themen 10
M JTextField blitzt immer wieder nur auf Java Basics - Anfänger-Themen 12
CptK Datentypen Verdrehte Wörter wieder herstellen Java Basics - Anfänger-Themen 21
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
I Methoden Schleife immer wieder durchlaufen lassen Java Basics - Anfänger-Themen 15
F Immer wieder gleiche Zufallszahl? Java Basics - Anfänger-Themen 4
M Schleifenergebnis in selbiger wieder verwenden Java Basics - Anfänger-Themen 7
L Methoden Rekursion gibt alten Wert wieder Java Basics - Anfänger-Themen 37
L jar, class, java und wieder zurück Java Basics - Anfänger-Themen 8
M aus Fenster anderes Fenster öffnen und wieder umgekehrt Java Basics - Anfänger-Themen 5
J Fenster wieder unsichtbar machen Java Basics - Anfänger-Themen 2
J Auslesen/speichern und wieder einlesen Java Basics - Anfänger-Themen 7
S Sound stoppen und nach Pause wieder abspielen Java Basics - Anfänger-Themen 6
T while schleife starten , beeneden und wieder Starten Java Basics - Anfänger-Themen 8
I Zähler, der erst wieder zählt nachdem Pixel wieder andere Farbe hat Java Basics - Anfänger-Themen 2
B javax.ejb.Timer wieder starten? Java Basics - Anfänger-Themen 0
N Methode auslagern mal wieder Java Basics - Anfänger-Themen 8
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
Bluedaishi for schleife um Dateien wieder zusammen zu fügen Java Basics - Anfänger-Themen 11
I SHA512 verschlüsseln und dann wieder auslesen? Java Basics - Anfänger-Themen 35
F Timer abbrechen und wieder starten Java Basics - Anfänger-Themen 5
J KeyListener - mal wieder... Java Basics - Anfänger-Themen 2
B Listener beim Laden (deserialize) wieder hinzufügen bzw. mitspeichern? Java Basics - Anfänger-Themen 3
GadgetSofa .txt Datei erstellen und gleich wieder Löschen? Java Basics - Anfänger-Themen 12
D Bild für ein paar Sekunden einblenden und wieder ausblenden Java Basics - Anfänger-Themen 1
M Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 10
M Erste Schritte Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 7
M Zahlen als Bytes in eine Datei speichern, daraus wieder auslesen Java Basics - Anfänger-Themen 2
D Schon wieder double -.- Java Basics - Anfänger-Themen 4
R Switch: Nach durchlaufen des Case wieder zum Menü Java Basics - Anfänger-Themen 3
K For Each Schleife wieder von Beginn an iterieren Java Basics - Anfänger-Themen 12
L Und schon wieder :=( Java Basics - Anfänger-Themen 3
T Arbeitsspeicher wieder freigeben Java Basics - Anfänger-Themen 21
Ernesto95 BufferedImage Teilbereich wieder transparent setzen Java Basics - Anfänger-Themen 16
J Schon wieder Rekursionsproblem Java Basics - Anfänger-Themen 3
S Erste Schritte Hochgescrolltes Menu nach MouseOut wieder "runter holen" Java Basics - Anfänger-Themen 3
H Datei in kleine Stücke teilen und wieder erkennen Java Basics - Anfänger-Themen 10
B Variable wird einfach so wieder auf "null" gesetzt Java Basics - Anfänger-Themen 12
B Cookies auslesen und wieder schreiben Java Basics - Anfänger-Themen 2
T wieder mal Serialization :-) Java Basics - Anfänger-Themen 10
J Mal wieder ein kleines Toleranzproblem Java Basics - Anfänger-Themen 20
T text von textfeld auslesen und wieder reinschreiben Java Basics - Anfänger-Themen 10
T Benutzereingabe in form von string wieder ausgeben in JOptionPane Java Basics - Anfänger-Themen 14
F Input/Output ArrayList presistent speichern und wieder auslesen Java Basics - Anfänger-Themen 4
D Ausgegebene Worte wieder löschen. Java Basics - Anfänger-Themen 6
B Heap-Speicher wieder freigeben Java Basics - Anfänger-Themen 10
P Mal wieder JTable Java Basics - Anfänger-Themen 7
V Schon wieder ein kleines problem...dieses mal mit do-while loop Java Basics - Anfänger-Themen 9
M Threads Thread ist nur kurz interrupted, dann wieder nichtmehr Java Basics - Anfänger-Themen 6
K Mal wieder ein Problem mit If / Else Java Basics - Anfänger-Themen 10
A Wie kann man etwas von Typ Image wieder löschen? Java Basics - Anfänger-Themen 7
J Threads Threads anhalten und wieder fortführen Java Basics - Anfänger-Themen 9
P Dropdownbox nach hinzufügen wieder öffnen Java Basics - Anfänger-Themen 7
A Daten speichern und wieder in ein Array laden Java Basics - Anfänger-Themen 4
B Datentypen Inhalt zum Iterator wieder aufrufen? Java Basics - Anfänger-Themen 10
Os-Programming Checkbox immer wieder überprüfen Java Basics - Anfänger-Themen 13
S Datei einlesen und Ergebnis wieder in Datei schreiben Java Basics - Anfänger-Themen 5
J Datei einlesen teile aus lines ändern und wieder rausschreiben. Java Basics - Anfänger-Themen 4
M String-Array-Element wieder null zuweisen Java Basics - Anfänger-Themen 16
K Wie kann ich aus jar Dateien wieder normale Klassen generieren? Java Basics - Anfänger-Themen 7
F Mal wieder: Cannot make a static reference to the non-static method Java Basics - Anfänger-Themen 9
F Collections Datenbankdaten in einer Map speichern, bearbeiten, sortieren und wieder in Datenbank schreiben Java Basics - Anfänger-Themen 20
B Datentypen Werte in einen Array einlesen und danach die beiden höchsten Werte wieder ausgeben Java Basics - Anfänger-Themen 3
L Datentypen byte[] in String und wieder zurück Java Basics - Anfänger-Themen 3
B Datei in mehrere Ordner splitten und wieder zusammenfuegen... Java Basics - Anfänger-Themen 3
R ARRAY/List die sich immer wieder von vorne neu auffüllt ? Java Basics - Anfänger-Themen 21
F OOP Wieder mal Zugriffsprobleme... (Lösung am Ende) Java Basics - Anfänger-Themen 11
M Dynamisches Casten mal wieder Java Basics - Anfänger-Themen 4
P Zwei Charakter als Paramter übergeben und wieder ausgeben Java Basics - Anfänger-Themen 10
D Array speichern und wieder aufrufen Java Basics - Anfänger-Themen 6
Dit_ Thread stoppen und wieder starten Java Basics - Anfänger-Themen 2
M AudioStream - wiederholen, pausieren und wieder starten Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben