Я следующее Дата Строка:Формат даты для отметки времени?
1477547160000 + 0800
Есть ли формат даты для отметки времени?
AFAIK, нет формата даты для разбора метки времени, как в here
Я следующее Дата Строка:Формат даты для отметки времени?
1477547160000 + 0800
Есть ли формат даты для отметки времени?
AFAIK, нет формата даты для разбора метки времени, как в here
Если предположить, что число перед +
является эпохами миллисекунды, а число после +
является смещением часового пояса, вы можете попробовать это:
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));
Число слева - миллисекунды эпохи (как в 'System.currentTimeMillis()'). Номер справа указывает часовой пояс. – SJuan76
Как форматируется строка? Эти миллисекунды с 1970 года? Как интерпретировать часовой пояс? – Henry
Я получаю это от ответа, таким образом, я хочу знать, есть ли «yyyy mm dd» для синтаксического анализа этой строки. AFAIK, там нет, но downvoted LOL – Rendy