答案 0 :(得分:0)
假设+
之前的数字是纪元毫秒,而+
之后的数字是时区偏移,您可以试试这个:
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));
现在您拥有OffsetDateTime
个实例,并且可以将其转换为您想要的任何格式的String
。默认值为:
t.toString() => "2016-10-27T13:46+08:00"
如果您需要特定格式,可以使用DateTimeFormatter
。
t.format(new DateTimeFormatter(your_format_here));