Long in Datum umwandeln 12 Uhr Fehler


#1
Hallo zusammen,

ich bin grade dabei mit Zeiten zu arbeiten.
Jetzt wollte ich einen Long-Wert in ein Datum umwandeln. (egal, ob String, SimpleDate, oder Date)

Java:
public class LongInDate 
{
    public static SimpleDateFormat LongInDate(long zahl)
    {
    SimpleDateFormat stf = new SimpleDateFormat("HH:mm");
    return(stf.format(zahl));
    }
}
Das klappt auch alles wunderbar, außer der Long-Wert ist eine Zahl, die 12 Uhr mittags darstellt. Dann schmeißt er mir 0 Uhr raus.

Beispiel: Eingabe: 12:55 (als Long natürlich)
Ausgabe: 00:55

kann mir das jemand erklären?

Danke schon mal im Voraus!

LG Broki
 
#2
Moin,

wie sieht denn Dein long-Wert genau aus ??

Sicher, dass das funktioniert??
Ich kenne den format-Aufruf nur mit Date oder Object und nutze die Methode eigentlich nur so:
Java:
String dateTime = Long.toString( System.currentTimeMillis() );
SimpleDateFormat formatter = new SimpleDateFormat( "dd.MM.yy '-' HH:mm:ss" );
String timeStamp = formatter.format( new Date(Long.parseLong(dateTime)) );
VG Klaus
 
#3
Hallo,
Danke erstmal für die Antwort, aber es hat sich herausgestellt, dass es einwandfrei funktioniert und der Fehler woanders liegt.

Wenn ich für diesen keine Lösung finde, dann werde ich einen neuen Beitrag eröffnen.

LG Broki
 

Technipion

Erfahrenes Mitglied
#5
Hallo Broki,
eigentlich dürfte das hier
so nicht funktionieren. Schau mal in der Dokumentation nach: https://docs.oracle.com/javase/6/docs/api/java/text/DateFormat.html#format(java.util.Date)
Du musst da eigentlich ein Date Objekt einsetzen, keinen long.
Das sind die Millisekunden seit 1970 oder so.
Jopp, Stichwort hier ist UTC.

Möglicherweise hast du auch irgendwo einen Modulo-Operator falsch benutzt oder etwas bei der "Konstruktion" der long-Werte übersehen?

Gruß Technipion
 
#10
Sorry,
Dass ich nicht mehr geschrieben habe.
Den Fehler habe ich schon seit ein paar Wochen gelöst.
Es lag daran, dass bei

Java:
{
    DateFormat("HH:mm");
}
Das große HH für englische Zeit (also am /pm ) steht und kleines hh für Zeiten ohne am pm

Trotzdem nochmal vielen Dank!

Wollte euch noch an der Lösung teil haben lassen.

MfG Broki
 

Neue Beiträge