Wie konvertiert man currentTimeMillis zu einem Datum in Java?

Habe ich Millisekunden in bestimmten log-Datei generiert, in server, ich weiß auch, das Gebietsschema, von wo aus der log-Datei generiert wurde, mein problem ist die Umwandlung von Millisekunden in Datums im angegebenen format.
Die Verarbeitung von log geschieht auf dem server, die sich in verschiedenen Zeit-zone. Während der Konvertierung zu ""= SimpleDateFormat" - Programm ist der Einnahme Zeitpunkt von der Maschine als solche formatiert Datum repräsentieren nicht die richtige Zeit des Servers. Gibt es eine Möglichkeit, dies zu behandeln aus ?

long yourmilliseconds = 1322018752992l;
        //1322018752992-Nov 22, 2011 9:25:52 PM 

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS",Locale.US);

GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("US/Central"));
calendar.setTimeInMillis(yourmilliseconds);

System.out.println("GregorianCalendar -"+sdf.format(calendar.getTime()));

DateTime jodaTime = new DateTime(yourmilliseconds, 
                    DateTimeZone.forTimeZone(TimeZone.getTimeZone("US/Central")));
DateTimeFormatter parser1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss,SSS");

System.out.println("jodaTime "+parser1.print(jodaTime));

Ausgabe:

Gregorian Calendar -2011-11-23 08:55:52,992
jodaTime 2011-11-22 21:25:52,992
Kommentar zu dem Problem
Nicht zu verwechseln mit der Locale Zeitzone. Völlig getrennt. Gebietsschema bestimmt die menschliche Sprache für die Namen der Monate und Tage, und kulturelle Normen, wie die Reihenfolge der Teile wie Monat, Tag, etc. Eine Zeitzone offset von der UTC plus Regeln für den Umgang mit Anomalien, wie Sommerzeit. Kommentarautor: Basil Bourque
Das problem war, dass die Anzahl der Millisekunden, war ein Graf nicht aus 1970-01-01T00:00:00Z aber von einigen anderen moment? Kommentarautor: Basil Bourque

InformationsquelleAutor der Frage Amit | 2011-11-23

Schreibe einen Kommentar