Преобразование времени TAI в Java Instant

У меня есть доступ к времени TAI с секундами и нано секундами - позвольте мне просто назвать это T,

Я хочу сейчас создать Java Instant класс, соответствующий этому значению T,

Я искал подходящих конструкторов, чтобы сделать это, но не повезло.

2 ответа

Я бы порекомендовал посмотреть или использовать код в библиотеке ThreeTen-Extra, который расширяет возможности TAI и UTC. Вот этот Javadoc.

TaiInstant tai = TaiInstant.ofTaiSeconds(taiSecs, taiNanos);
Instant instant = tai.toInstant();

Второй метод применяет преобразование UTC-SLS.

Если у вас есть доступ к элементам времени отдельно, вы можете сделать что-то вроде этого:

long millisecondsTime = 1262347200000l;
long nanoseconds = 10202;
Instant taiInstance = Instant.ofEpochMilli(millisecondsTime);
taiInstance = taiInstance.plus(Duration.ofNanos(nanoseconds));
Другие вопросы по тегам