Instant 는 UTC(협정 세계시)를 기준으로 하는, 시간의 한 지점을 나타낸다. Instant 는 날짜와 시간을 나노초 정밀도로 표현하며, 1970년 1월 1일 0시 0분 0초(UTC 기준)를 기준으로 경과한 시간으로 계산된다.
쉽게 이야기해서 Instant 내부에는 초 데이터만 들어있다. (나노초 포함)
따라서 날짜와 시간을 계산에 사용할 때는 적합하지 않다.
now() : 현재 UTC 기준의 Instant 를 반환한다.ofEpochMilli(long epochMilli) : 주어진 에폭시 시간(밀리초)을 기준으로 Instant 를ofEpochSecond(long epochSecond) : 주어진 에폭시 시간(초)을 기준으로 Instant 를 생성ofEpochSecond(long epochSecond, long nanoAdjustment) : 주어진 에폭시 시간(초)과 나노초 조정값을 기준으로 Instant 를 생성한다.from() : 다른 타입의 날짜와 시간을 기준으로 Instant 를 생성한다. 참고로 Instant 는 UTC를 기준으로 하기 때문에 시간대 정보가 필요하다. 따라서 LocalDateTime 은 사용할 수 없다.plusSeconds() : 초를 더한다. 초, 밀리초, 나노초 정도만 더하는 간단한 메서드가 제공된다.atOffset(ZoneOffset offset) : Instant를 OffsetDateTime으로 변환한다.atZone(ZoneId zone) : Instant를 특정 시간대의 ZonedDateTime으로 변환한다.toEpochMilli() : Instant의 에폭시 시간을 밀리초 단위로 반환한다.getEpochSecond() : 에포크 시간인 UTC 1970년 1월 1일 0시 0분 0초를 기준으로 흐른 초를 반환한다.getNano() : 현재 초의 나노초 부분을 반환한다.