Java 8에는 java.time 패키지에 날짜 및 시간에 대한 완전히 새로운 라이브러리가 있으며, 이전에 JodaTime을 사용하거나 자체 날짜 처리 도우미 메소드를 작성 해야하는 번거 로움이있는 사람에게는 매우 환영합니다. 이 패키지의 많은 클래스는 타임 스탬프를 나타내며 타임 스탬프 getHour()
에서 시간 을 가져 오거나 getMinute()
타임 스탬프에서 분 getNano()
을 가져 오거나 타임 스탬프 등에서 나노를 얻는 등의 도우미 메서드를 가지고 있습니다 .
getMillis()
타임 스탬프의 밀리 초를 얻기 위해 호출 된 메소드가 없다는 것을 알았습니다 . 대신 method를 호출해야합니다 get(ChronoField.MILLI_OF_SECOND)
. 나에게 그것은 도서관의 불일치처럼 보인다. 왜 그러한 메소드가 누락되었거나 Java 8이 아직 개발 중이므로 나중에 추가 될 가능성이 있습니까?
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
여기에 정의 된 클래스는 인스턴트, 기간, 날짜, 시간, 시간대 및 기간을 포함한 주요 날짜-시간 개념을 나타냅니다. 그것들은 ISO 달력 시스템을 기반으로하며, 이는 다발적인 Gregorian 규칙을 따르는 사실상의 세계 달력입니다. 모든 클래스는 변경 불가능하고 스레드로부터 안전합니다.
각 날짜 시간 인스턴스는 API에서 편리하게 사용할 수있는 필드로 구성됩니다. 필드에 대한 하위 수준 액세스는
java.time.temporal
패키지를 참조하십시오 . 각 수업은 모든 방식의 날짜와 시간을 인쇄하고 파싱하는 기능을 지원합니다.java.time.format
사용자 정의 옵션 은 패키지를 참조하십시오 ...
이러한 종류의 클래스 예 :
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html
ISO-8601 달력 시스템에 시간대가없는 날짜-시간 (예 : 2007-12-03T10 : 15 : 30).
LocalDateTime
불변의 날짜-시간 객체로, 일-월-일-시-분-초로 표시되는 날짜-시간을 나타냅니다. 년, 요일 및 주와 같은 다른 날짜 및 시간 필드에도 액세스 할 수 있습니다. 시간은 나노초 정밀도로 표시됩니다. 예를 들어, "2007 년 10 월 2 일 13 : 45.30.123456789"의 값은LocalDateTime
...
Instant
get()
개별적이고 고유 한 이름을 부여하는 대신 다형성을 사용하여 모두 호출 된 수많은 메소드를 해결하려는 것처럼 보입니다 . 그것이 당신을 귀찮게한다면, 원래 클래스를 상속하는 클래스를 작성getMillis()
하고 새로운 클래스에 자신의 메소드를 넣으십시오 .