Мне нужно преобразовать стандартный длинный System.currentmillis во временный метод доступа, и я понятия не имею, с чего начать.
Очень смешное требование. Он стоит один? Отличительной чертой TemporalAccessor
является то, что он поддерживает один или несколько TemporalField
, поэтому мне интересно, есть ли какое-либо требование о том, какие поля он должен поддерживать? (Instant
, упомянутый в ответе, поддерживает NANO_OF_SECOND
, MICRO_OF_SECOND
, MILLI_OF_SECOND
и INSTANT_SECONDS
, что является разумным набором, исходя из миллисекунд с эпохи).
Instant
— это TemporalAccessor
, поэтому вы можете создать Instant
из нескольких миллисекунд с начала эпохи:
TemporalAccessor ta = Instant.ofEpochMilli(System.currentTimeMillis());
Обратите внимание, что в документах для System.currentTimeMillis
говорится, что степень детализации значения зависит от ОС, поэтому это может быть не точное время в миллисекундах.
Returns the current time in milliseconds. Note that while the unit of time of the return value is a millisecond, the granularity of the value depends on the underlying operating system and may be larger. For example, many operating systems measure time in units of tens of milliseconds.
Начать нужно с javadoc... для
TemporalAccessor
и классов, которые его реализуют.