предложение было глупым, учитывая другую ссылку эпохи. Я сейчас пью больше кофе.
ался выяснить, как преобразовать отметку времени в дату, но с последними десятичными знаками в конце, например: отметка времени - C50204EC EC42EE92 эквивалентна 27 сентября 2004 г. 03: 18: 04.922896299 UTC.
Формат метки времени включает в себя первые 32-битные секунды без знака в качестве поля, охватывающего 136 лет, и поле 32-битной дроби, разрешающее 232пикосекунд, В форматах отметок времени первичная эпоха или базовая дата эпохи 0 равна 0 ч 1 января 1900 UTC, когда все биты равны нулю.
Это то, что я написал для своего кода до сих пор:
BigDecimal bi = new BigDecimal("1096255084000");
double decimal_timestamp = bi.doubleValue();
DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss.SSS");
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(decimal_timestamp);
String date = formatter.format(calendar.getTime());
System.out.println(decimal_timestamp + " = " + date);
Я думаю, что это, вероятно, невозможно с календарем, поэтому мне придется делать это с нуля, но я понятия не имею, как это сделать.