2017-12-18 42 views
2

: 이 1970-01-01T00의 에포크에서 밀리 초에이 즉시 변환변환 인스턴트 방법있다 <code>Instant</code>에서

이 두 가지 방법 모두 정밀도를 잃습니다. toEpochMilli의 JavaDoc에서 나는 볼이 순간이 밀리 초 정밀도보다 더 큰이

경우 나노초 의 양이 백만으로 나누기 정수 될 수 있었다 것처럼, 다음 변환 이 초과 정확한 정보를 놓습니다.

더 정확한 타임 스탬프를 얻으려면 해당 방법이 표시되지 않습니다. Java 8에서 신기원으로부터 마이크로 또는 나노 수를 얻으려면 어떻게해야합니까?

답변

7

getNanogetEpochSeconds을 함께 사용하십시오.

getNano 

번째의 개시로부터, 나중에 타임 라인을 따라 나노초의 수를 취득. 나노 秒 초 값은 getEpochSecond에 의해 반환 된 초에서 총 나노초 수를 측정합니다.

+2

'getNano()'외에도 관련 전환에 'TimeUnit'을 사용하고 오버플로 감지가 필요한지 여부를 결정하는 것이 좋습니다. 한편으로는'Instant.MIN'과'Instant.MAX'의 마이크로 초는'long'에 맞지 않습니다. 반면에'long'은 과거 나 미래의'Instant's로는 충분합니다. –