Date Format < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 14:07 Di 28.02.2012 | Autor: | Philphil |
Ich experimentiere gerade mit Date aus der java Klasse und dabei komm ich zu einerseltsamen gegebenheit und wollte fragen, ob es dazu eine einfache Lösung gibt.
Mein Code:
SimpleDateFormat resultFormat = new SimpleDateFormat("dd.MM.yyyy, hh:mm", Locale.GERMANY);
SimpleDateFormat format2en = new SimpleDateFormat("MM/dd/yyyy, hh:mm");
Date date = format2en.parse(InputDate);
String outputDate = resultFormat.format(date);
Wenn ich nun jeweils davor in der MItte und danach das Datum ausgeben lasse komm ich auf so etwas (ich beziehe mich im Folgenden nur auf die Uhrzeit, weil da mein Problem vorkommt.
Uhrzeit die ausgegeben wird: 23:59
Date date = format2en.parse(InputDate);
Uhrzeit die ausgegeben wird: 23:59
String outputDate = resultFormat.format(date);
Uhrzeit die ausgegeben wird: 11:59
Ich versteh nicht wie der jetzt plötzlich auf 11 Uhr kommt. Kennt jemand das Problem oder kann mir da weiterhelfen?
Gruß Phil
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 14:22 Di 28.02.2012 | Autor: | Stevuu |
Hi, das hat bestimmt mit dem Datumsformat zu tun.
Man sieht leider nicht was du ausgibst.
Aber einmal hast du ja Locale.GERMANY, einmal nicht.
23.59 = 11:59 pm
also du weißt, im englischen hast du ja kein 24h System sondern 12h am und pm
Hoffe das hilft dir :)
|
|
|
|
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 14:30 Di 28.02.2012 | Autor: | Philphil |
Hi, danke schonmal für deine schnelle Antwort :)
Die Ausgabe sieht so aus:
20.4.2012, 13:43
Fri Apr 20 13:43:00 CEST 2012
20.04.2012, 01:43
ich hab jetzt zu allen Formaten Locale.GERMANY hintendran gehängt, dass ändert leider nichts ...
Die letzte Umwandlung scheint ja das Problem zu sein, also von dem Date objekt zu dem String.
Die geänderte Zeile die dafür verwantwortlich ist lautet:
SimpleDateFormat resultFormat = new SimpleDateFormat("dd.MM.yyyy, hh:mm", Locale.GERMANY);
outputDate = resultFormat.format(date);
Es muss irgendwie mit der Methode format zusammenhängen, aber ich finde keinen Hinweis in der Klassenbeschreibung von JAVA...
Hast du noch eine Idee?
Gruß Phil
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:42 Di 28.02.2012 | Autor: | Philphil |
Hallo,
Threat kann geschlossen werden, ich habe den Fehler gefunden. Falls es jemand interressiert, um die Deutsche Zeit zu erhalten darf man nicht hh:mm schreiben sondern HH:mm -.-'
z.B.: SimpleDateFormat("yyyy~MM~dd, HH:mm", Locale.GERMANY);
Danke an alle die sich drüber gedanken gemacht haben.
Gruß Phil
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 15:12 Di 28.02.2012 | Autor: | Stevuu |
Ah supi hasts ja schon :)
Hab hier noch einen guten Link mit Übersicht über die Formatierungen:
http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
|
|
|
|