Joda-Time は、Java の日付と時刻クラスの高品質な代替品を提供します。この設計では、シンプルな API を提供しながら、複数のカレンダー システムを使用できます。 「デフォルト」カレンダーは、XML で使用される ISO8601 標準です。グレゴリオ暦、ユリウス暦、仏教系、コプト系、エチオピア系、イスラム系も含まれます。サポートされるクラスには、タイム ゾーン、期間、形式、解析が含まれます。
Joda-time は、タイムゾーン データを最新に保つことを除いて、現在は積極的に開発されていません。 Java SE 8 以降、ユーザーは、このプロジェクトを置き換える JDK のコア部分であるjava.time
(JSR-310) に移行するように求められます。 Android ユーザーの場合、 java.time
は API 26 以降に追加されます。より低い 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 リポジトリで利用可能
Maven 構成:
< dependency >
< groupId >joda-time</ groupId >
< artifactId >joda-time</ artifactId >
< version >2.13.0</ version >
</ dependency >
グラドル構成:
compile ' joda-time:joda-time:2.13.0 '
GitHub の関連プロジェクト:
その他の関連プロジェクト:
Tidelift サブスクリプションの一部として利用できます。
Joda と他の何千ものパッケージの管理者は、Tidelift と協力して、使用するすべてのオープンソースをカバーする 1 つのエンタープライズ サブスクリプションを提供しています。
オープンソースの柔軟性と商用グレードのソフトウェアの信頼性が必要な場合は、これが最適です。
もっと詳しく知る
一般的な使用上の質問については、Stack Overflow を使用してください。 GitHub のイシューとプル リクエストは、プロジェクトの推進を支援する場合に使用する必要があります。
プロジェクトをサポートするための寄付は OpenCollective を通じて受け付けられます。
セキュリティの脆弱性を報告するには、Tidelift のセキュリティ連絡先を使用してください。 Tidelift が修正と公開を調整します。
Joda-Time は、標準の GitHub ツールを使用して開発されています。 checkstyle ファイルが利用可能であり、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=""