반응형
밀리 초 단위로 긴 Epoch 시간에서 Java 8 LocalDate를 작성하려면 어떻게해야합니까?
long
Epoch 이후 밀리 초로 표시되는 날짜를 s 로 반환하는 외부 API가 있습니다.
이전 스타일의 자바 API로, 나는 간단하게 만들 것 Date
와의를
Date myDate = new Date(startDateLong)
Java 8 LocalDate
및 LocalDateTime
클래스 의 해당 내용은 무엇입니까 ?
long으로 표시된 특정 시점을 LocalDate
현재 현지 시간대 로 변환하는 데 관심이 있습니다.
Epoch 이후 밀리 초가 있고 현재 현지 시간대를 사용하여 현지 날짜로 변환하려면 다음을 사용할 수 있습니다.
LocalDate date =
Instant.ofEpochMilli(longValue).atZone(ZoneId.systemDefault()).toLocalDate();
그러나 시스템의 기본 시간대조차도 변경 될 수 있으므로 동일한 시스템에서도 동일한 long
값이 후속 실행에서 다른 결과를 생성 할 수 있습니다.
또한와 LocalDate
달리 java.util.Date
실제로 날짜와 시간이 아니라 날짜를 나타냅니다.
그렇지 않으면, 당신은 사용할 수 있습니다 LocalDateTime
:
LocalDateTime date =
LocalDateTime.ofInstant(Instant.ofEpochMilli(longValue), ZoneId.systemDefault());
Instant.ofEpochMilli (long)로 시작할 수 있습니다 :
LocalDate date =
Instant.ofEpochMilli(startDateLong)
.atZone(ZoneId.systemDefault())
.toLocalDate();
더 나은 대답이 있다고 생각합니다.
new Timestamp(longEpochTime).toLocalDateTime();
시간대와 물건을 제쳐두고 아주 간단한 대안이 new Date(startDateLong)
될 수 있습니다.LocalDate.ofEpochDay(startDateLong / 86400000L)
에포크 초 타임 스탬프가 SQL에서 유래되었거나 SQL과 관련이있는 특정 경우에는 다음과 같이 얻을 수 있습니다.
long startDateLong = <...>
LocalDate theDate = new java.sql.Date(startDateLong).toLocalDate();
반응형
'Programing' 카테고리의 다른 글
두 벡터를 연결하는 가장 좋은 방법은 무엇입니까? (0) | 2020.05.26 |
---|---|
MySQL 테이블이 마지막으로 업데이트 된 시점을 어떻게 알 수 있습니까? (0) | 2020.05.26 |
intellij가 Eclipse에서와 동일한 방식으로 수입을 구성 할 수 있습니까? (0) | 2020.05.26 |
Windows에 GREP과 같은 패턴 일치 유틸리티가 있습니까? (0) | 2020.05.26 |
루비에서 CSV로 출력 배열 (0) | 2020.05.26 |