Java 8에서 날짜와 시간을 처리하는 방법

2758 단어 java8날짜시간
Java 8에는 LocalDate 및 LocalTime 인터페이스가 추가되었는데 왜 새로운 처리 날짜와 시간의 API를 만들어야 합니까?낡은 자바 때문에.util.날짜가 너무 어려워요.
java.util.Date월은 0에서 시작하고 1월은 0, 12월은 11, 변태죠!java.time.Local Date가 월과 주에 모두 enum으로 바뀌었으니 더 이상 잘못 사용할 수 없습니다.
java.util.Date와 Simple Date Formatter는 모두 스레드가 안전하지 않습니다. Local Date와 Local Time는 가장 기본적인 String과 마찬가지로 변하지 않는 유형입니다. 스레드가 안전할 뿐만 아니라 수정할 수 없습니다.
java.util.날짜는 날짜, 시간, 그리고 밀리초 수를 포함하는 만능 인터페이스입니다. 만약java만 사용하고 싶다면.util.Date는 날짜를 저장하거나 시간만 저장합니다. 그러면 어떤 부분의 데이터가 유용하고 어떤 부분의 데이터는 사용할 수 없습니다.새 Java 8에서 날짜와 시간은 LocalDate와 LocalTime으로 명확하게 구분되며, LocalDate는 시간을 포함할 수 없고, LocalTime는 날짜를 포함할 수 없습니다.물론 LocalDateTime은 날짜와 시간을 모두 포함할 수 있습니다.
새 인터페이스가 더 좋은 이유는 날짜와 시간의 조작을 고려하여 앞으로 밀거나 며칠 뒤로 미루는 경우가 많기 때문이다.자바로.util.Date는 Calendar에 맞추어 많은 코드를 써야 하며, 일반적인 개발자들이 반드시 맞출 수 있는 것은 아니다.
LocalDate
새로운 LocalDate 사용 방법:

//  :
LocalDate today = LocalDate.now(); // -> 2014-12-24
//  ,12 12:
LocalDate crischristmas = LocalDate.of(2014, 12, 25); // -> 2014-12-25
//  :
LocalDate endOfFeb = LocalDate.parse("2014-02-28"); //  ISO yyyy-MM-dd ,02 2 , 
LocalDate.parse("2014-02-29");//잘못된 날짜를 통과할 수 없음: DateTimeParseException: Invalid date
날짜 변환은 다음과 같이 자주 발생합니다.

//  1 :
LocalDate firstDayOfThisMonth = today.with(TemporalAdjusters.firstDayOfMonth()); // 2014-12-01
//  2 :
LocalDate secondDayOfThisMonth = today.withDayOfMonth(2); // 2014-12-02
//  , 28,29,30 31:
LocalDate lastDayOfThisMonth = today.with(TemporalAdjusters.lastDayOfMonth()); // 2014-12-31
//  :
LocalDate firstDayOf2015 = lastDayOfThisMonth.plusDays(1); //  2015-01-01
//  2015 1 , Calendar :
LocalDate firstMondayOf2015 = LocalDate.parse("2015-01-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY)); // 2015-01-05
LocalTime
LocalTime은 시간만 포함하고 예전에는 java를 사용했습니다.util.날짜는 어떻게 시간만 표시할 수 있죠?답은 날짜를 무시하는 척.
LocalTime은 밀리초로 구성됩니다.
LocalTime now = LocalTime.now();//11:09:09.240
밀리초를 지우고 싶을 수도 있습니다.
LocalTime now = LocalTime.now().withNano(0));//11:09:09
구조 시간도 간단하다.
LocalTime zero = LocalTime.of(0, 0, 0);//00:00:00
LocalTime mid = LocalTime.parse("12:00:00");//12:00:00
시간도 ISO 형식에 따라 식별되지만 다음 세 가지 형식을 식별할 수 있습니다.
•12:00
•12:01:02
•12:01:02.345
JDBC
최신 JDBC 매핑은 데이터베이스의 날짜 유형과 Java 8의 새 유형을 연결합니다.
SQL -> Java
--------------------------
date -> LocalDate
time -> LocalTime
timestamp -> LocalDateTime
다시는 자바에 비치지 않을 거예요.util.날짜 중 날짜나 시간의 일부분이 0인 경우입니다.
위에서 말한 것은 편집자가 여러분께 소개한 자바8의 날짜와 시간의 처리 방법입니다. 여러분께 도움이 되었으면 합니다. 만약에 궁금한 것이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 답장을 드리겠습니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기