Ich habe folgendes Datum String:Datumsformat für Zeitstempel?
1477547160000 + 0800
Gibt es ein Datumsformat für Zeitstempel?
AFAIK gibt es kein Datumsformat Zeitstempel wie in here
Ich habe folgendes Datum String:Datumsformat für Zeitstempel?
1477547160000 + 0800
Gibt es ein Datumsformat für Zeitstempel?
AFAIK gibt es kein Datumsformat Zeitstempel wie in here
Unter der Annahme, dass die Zahl vor +
ist Epoche Millisekunden zu analysieren, und die Zahl nach +
sind die Zeitzonen, können Sie dies versuchen:
String input = "1477547160000+0800";
long epoch = Long.parseLong(input.substring(0, input.length() - 5));
int offset = Integer.parseInt(input.substring(input.length() - 5));
int offsetHour = offset/100;
int offsetMin = offset % 100;
OffsetDateTime t = Instant
.ofEpochMilli(epoch)
.atOffset(ZoneOffset.ofHoursMinutes(offsetHour, offsetMin));
Jetzt haben Sie OffsetDateTime
Instanz, und Sie können es in String
eines beliebigen Formats konvertieren. Der Standardwert ist:
t.toString() => "2016-10-27T13:46+08:00"
Wenn Sie bestimmte Format möchten, können Sie DateTimeFormatter
verwenden.
t.format(new DateTimeFormatter(your_format_here));
Die Zahl auf der linken Seite sind Millisekunden der Epoche (wie in 'System.currentTimeMillis()'). Die Nummer auf der rechten Seite zeigt die Zeitzone an. – SJuan76
Wie ist die Zeichenfolge formatiert? Sind diese Millisekunden seit 1970? Wie ist die Zeitzone zu interpretieren? – Henry
Ich bekomme es von der Antwort, so will ich wissen, ob es irgendwie "yyyy mm dd" gibt, um diese Zeichenfolge zu analysieren .. AFAIK, gibt es nicht, aber runter LOL – Rendy