Java에는 현재까지 직접 관련된 수업이 많이 있습니다. 가장 일반적으로 사용되는 것은 java.util 패키지의 날짜와 달력입니다. 형식을 사용해야하는 경우 java.text.simpledateformat도 사용합니다.
우선, 날짜와 캘린더가 실제로 사용하기가 약간 어색하다고 불평하겠습니다. 처음 사용할 때 익숙하지 않았으며 항상 날짜와 달력 클래스의 구체적인 사용법과 차이점을 알 수 없었습니다.
또한, 캘린더 클래스 세트 방법은 날짜를 설정할 때 약간의 항인증이 있습니다. 월을 설정할 때는 항상 그것을 보충하고 1을 빼야합니다. 예를 들어, 2018 년 1 월 6 일로 설정하려면 1 월이 0으로 표시되므로 2018, 0, 6으로 설정해야합니다.
Calendar Cal = Calendar.getInstance (); Cal.set (2018, 0, 8);
구체적인 이유는 다음과 같은 답을 참조하십시오. stackoverflow : Java 달력에서 1 월 Month 0 인 이유는 무엇입니까?
어쨌든, 나는 그것을 참을 수 없다. .
며칠 전, 간단한 요구 사항이 있었는데, 이는 두 날짜를 기준으로 연령을 계산하는 것이 었습니다. 인터넷을 확인하고 어려운 날짜와 달력 수업을 직접 포기하고 Java.Time.localdate를 직접 사용했습니다. 더 이상 고민하지 않고 코드를 업로드하기 만하면됩니다.
import java.time.localdate; public class testlocaldate {public static void main (String [] args) {localDate date1 = localDate.of (2018, 1, 6); LocalDate Date2 = LocalDate.of (1991, 1, 3); int age = date2.til (date1) .getyears (); System.out.println ( "your" + age + "년."); }}출력 결과 :
당신은 27 살입니다.
날짜와 달력 클래스 사이의 약간 복잡하고 압도적 인 상호 전환 호출이 버려졌으며 코드도 매우 명확합니다. 매우 즐겁지 않습니까?
Java.Time은 Java 8에 새로 소개 된 날짜 및 시간 도서관입니다. 다음 방법은 모두 Java.Time 패키지에 있습니다.
이 코드가 간단하고 상쾌한 방식으로 시차를 어떻게 계산하는지 살펴 보겠습니다.
우선, LocalDate는 불변의 클래스 (불변 클래스)이므로 문자열 클래스와 마찬가지로 새로운 개체를 사용할 필요가 없습니다 (?)
그런 다음 LocalDate 클래스에서 날짜를 설정하기 위해 사용하는 방법이 있습니다.
(int 연도, 월, int dayofmonth) 공개 정적 로컬 데이트 (int 연도, int month, int dayofmonth)의 공개 정적 로컬 데이트
총 3 개의 과부하 메소드가 있으며 그 중 2 개는 여기에 나열되어 있습니다. 첫 달 수업은 1 월, 11 월 등과 같은 달의 영어 이름을 포함하는 열거 형 유형입니다.
두 번째는 연도, 월 및 일의 정상적인 설정입니다. 좋은 소식은 여기에 달이 1부터 시작한다는 것입니다. 즉, 더 이상 수동으로 1을 빼지 않아도됩니다! ! !
다음은 LocalDate 클래스가 날짜를 비교하기 위해 사용하는 Termle 방법입니다.
공개 기간까지 (크로 올로 알테이트 ENDDATEEXCURCURE)
이 메소드는 유형 기간의 객체를 반환합니다.
기간은 "2 년, 3 개월, 4 일"모양의 시간 간격을 나타냅니다. 다음 getyears 메소드는 기간 클래스에 속합니다.
마지막으로, 기간 수업에서 시간 간격을 얻는 몇 가지 방법을 살펴 보겠습니다.
public int getyears () public int getmonths () public int getdays ()
이 세 가지 방법은 각각 시간 간격의 연도, 월 및 일을 얻는 데 사용됩니다. 예, 그렇게 간단합니다.
요약
위는 LocalDate를 사용하여 편집자가 소개 한 Java의 날짜를 기준으로 연령을 계산하는 구현 방법입니다. 모든 사람에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 모든 사람에게 답장을 드리겠습니다!