Joda-Time은 Java 날짜 및 시간 클래스에 대한 고품질 대체품을 제공합니다. 이 디자인은 여러 달력 시스템을 허용하면서도 여전히 간단한 API를 제공합니다. '기본' 달력은 XML에서 사용되는 ISO8601 표준입니다. 그레고리력, 율리우스력, 불교도, 콥트어, 에티오피아 및 이슬람 체계도 포함됩니다. 지원 클래스에는 시간대, 기간, 형식 및 구문 분석이 포함됩니다.
Joda-time은 시간대 데이터를 최신 상태로 유지하는 것 외에는 더 이상 활발하게 개발되지 않습니다. Java SE 8부터 사용자는 이 프로젝트를 대체하는 JDK의 핵심 부분인 java.time
(JSR-310)으로 마이그레이션하라는 요청을 받습니다. Android 사용자의 경우 API 26+에 java.time
이 추가되었습니다. 더 낮은 API 수준을 지원해야 하는 프로젝트는 ThreeTenABP 라이브러리를 사용할 수 있습니다.
Joda-Time의 특징으로 다음은 몇 가지 예제 코드입니다.
public boolean isAfterPayDay ( DateTime datetime ) {
if ( datetime . getMonthOfYear () == 2 ) { // February is month 2!!
return datetime . getDayOfMonth () > 26 ;
}
return datetime . getDayOfMonth () > 28 ;
}
public Days daysToNewYear ( LocalDate fromDate ) {
LocalDate newYear = fromDate . plusYears ( 1 ). withDayOfYear ( 1 );
return Days . daysBetween ( fromDate , newYear );
}
public boolean isRentalOverdue ( DateTime datetimeRented ) {
Period rentalPeriod = new Period (). withDays ( 2 ). withHours ( 12 );
return datetimeRented . plus ( rentalPeriod ). isBeforeNow ();
}
public String getBirthMonthText ( LocalDate dateOfBirth ) {
return dateOfBirth . monthOfYear (). getAsText ( Locale . ENGLISH );
}
Joda-Time은 비즈니스 친화적인 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다.
다양한 문서를 사용할 수 있습니다:
릴리스 2.13.0은 현재 최신 릴리스입니다. 이 릴리스는 안정적이고 2.x 태그에 합당한 것으로 간주됩니다. JDK 1.5 이상에 따라 다릅니다.
Maven Central 저장소에서 사용 가능
메이븐 구성:
< dependency >
< groupId >joda-time</ groupId >
< artifactId >joda-time</ artifactId >
< version >2.13.0</ version >
</ dependency >
Gradle 구성:
compile ' joda-time:joda-time:2.13.0 '
GitHub의 관련 프로젝트:
기타 관련 프로젝트:
Tidelift 구독의 일부로 제공됩니다.
Joda와 수천 개의 다른 패키지 관리자는 Tidelift와 협력하여 귀하가 사용하는 모든 오픈 소스를 포괄하는 하나의 기업 구독을 제공하고 있습니다.
오픈 소스의 유연성과 상용 등급 소프트웨어의 신뢰성을 원한다면 이것이 바로 당신을 위한 것입니다.
자세히 알아보기
일반적인 사용법에 대한 질문은 Stack Overflow를 사용하세요. 프로젝트 발전에 도움을 주고 싶을 때 GitHub 이슈와 끌어오기 요청을 사용해야 합니다.
프로젝트를 지원하기 위한 모든 기부는 OpenCollective를 통해 허용됩니다.
보안 취약점을 신고하려면 Tidelift 보안 담당자에게 문의하세요. Tidelift는 수정 및 공개를 조정할 것입니다.
Joda-Time은 표준 GitHub 도구를 사용하여 개발되었습니다. 체크스타일 파일을 사용할 수 있으며 PR은 이를 준수해야 합니다. 프로젝트는 mvn clean install
과 같은 Apache Maven을 사용하여 빌드할 수 있습니다. 지속적인 통합은 GitHub Actions를 사용하여 이루어집니다. 단위 테스트는 JUnit으로 작성되며 빌드 및 지속적인 통합의 일부로 실행됩니다. PR을 통한 변경에는 적절한 테스트 적용 범위가 포함되어야 합니다.
Joda-Time은 대체로 "완성된" 프로젝트로 간주됩니다. 주요 개선 사항은 계획되어 있지 않습니다. Java SE 8을 사용하는 경우 java.time(JSR-310)으로 마이그레이션하세요.
mvn clean deploy -Doss.repo -Dgpg.passphrase=""