Java 8은 LocalDate 및 LocalTime 인터페이스를 추가했습니다. 날짜와 시간을 처리하는 새로운 API 세트를 개발 해야하는 이유는 무엇입니까? 이전 java.util.date는 사용하기가 어렵 기 때문입니다.
Java.util.date Month는 0에서 시작하여 1 월은 0, 12 월은 11 세입니다. 비정상입니다! java.time.localdate는 몇 달과 주 모두에 따라 Enum으로 변경되었으므로 잘못 사용하는 것은 불가능합니다.
java.util.date 또는 simpledateformatter는 스레드 안전이 아니며 LocalDate 및 LocalTime은 가장 기본적인 문자열과 동일하며 스레드 안전뿐만 아니라 수정할 수 없습니다.
java.util.date는 날짜, 시간 및 밀리 초를 포함하는 "유니버설 인터페이스"입니다. java.util.date를 사용하여 날짜를 저장하거나 시간 만 저장하려면 데이터의 유용한 부분과 데이터의 유용한 부분이 유용하지 않은 부분 만 알고 있습니다. 새로운 Java 8에서는 날짜와 시간이 현지 운영 및 로컬 타임으로 명확하게 나뉩니다. LocalDate는 시간을 포함 할 수 없으며 LocalTime에는 날짜가 포함될 수 없습니다. 물론 LocalDateTime에는 날짜와 시간이 모두 포함될 수 있습니다.
새로운 인터페이스가 더 나은 이유는 날짜와 시간의 작동을 고려하고 며칠 동안 앞뒤로 밀 때 발생하기 때문입니다. 캘린더와 함께 java.util.date를 사용하려면 많은 코드를 작성해야하며 일반 개발자는 올바르게 작성하지 못할 수 있습니다.
로컬 데이트
새로운 LocalDate를 사용하는 방법을 살펴 보겠습니다.
// 현재 날짜를 가져옵니다 : LocalDate TODAY = localDate.now (); //-> 2014-12-24 // 12 월, 월 및 일에 따른 날짜를 가져옵니다. //-> 2014-12-25 // 문자열에 따라 현재 날짜를 가져옵니다. LocalDate endfodeb = localDate.parse ( "2014-02-28"); // iso yyyy-mm-dd에 따라 엄격하게 확인, 02는 2로 쓸 수 없습니다. 물론, 직접 형식을 정의 할 수있는 과부하 메소드도 있습니다.
localdate.parse ( "2014-02-29"); // 잘못된 날짜를 전달할 수 없습니다 : DateTimeParseException : 잘못된 날짜
날짜 전환은 종종 다음과 같이 발생합니다.
// 이달의 첫날 : LocalDate FirstDayofThismonth = Today.with (tempalAdjusters.firstdayofmonth ()); // 2014-12-01 // 이달의 두 번째 날을 가져 가라 : LocalDate 2 일째 ThayofThismonth = Today.withdayofmonth (2); // 2014-12-02 // 이번 달의 마지막 날을 찍으면 더 이상 28, 29, 30 또는 31인지 계산할 필요가 없습니다 : LocalDate lastdayofthismonth = today.with (tempalAdjusters.lastdayofmonth ()); // 2014-12-31 // 다음 날 : LocalDate FirstDayof2015 = LastdayofThismonth.plusdays (1); // 2015-01-01이되며 2015 년 1 월 첫 월요일을 차지하고이 계산은 달력을 사용하여 많은 뇌 세포를 죽입니다. // 2015-01-05
로컬 타임
LocalTime에는 시간 만 포함됩니다. 이전에 java.util.date와 함께 시간을 어떻게 표현할 수 있습니까? 대답은 날짜를 무시하는 척입니다.
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
---------------------------------------
날짜 -> LocalDate
시간 -> 로컬 타임
타임 스탬프 -> LocalDateTime
날짜 또는 시간의 일부가 날짜 또는 시간의 일부가 0 인 java.util.date에 매핑되는 경우는 더 이상 없을 것입니다.
위는 편집자가 소개 한 Java 8의 날짜와 시간을 처리하는 방법입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!