Joda-Time menyediakan pengganti kualitas untuk kelas tanggal dan waktu Java. Desainnya memungkinkan beberapa sistem kalender, namun tetap menyediakan API sederhana. Kalender 'default' adalah standar ISO8601 yang digunakan oleh XML. Sistem Gregorian, Julian, Buddha, Koptik, Etiopia, dan Islam juga disertakan. Kelas pendukung meliputi zona waktu, durasi, format, dan penguraian.
Joda-time tidak lagi dalam pengembangan aktif kecuali untuk selalu memperbarui data zona waktu. Mulai Java SE 8 dan seterusnya, pengguna diminta untuk bermigrasi ke java.time
(JSR-310) - bagian inti dari JDK yang menggantikan proyek ini. Untuk pengguna Android, java.time
ditambahkan di API 26+. Proyek yang perlu mendukung level API yang lebih rendah dapat menggunakan perpustakaan ThreeTenABP.
Sebagai cita rasa Joda-Time, berikut beberapa contoh kode:
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 dilisensikan di bawah lisensi Apache 2.0 yang ramah bisnis.
Berbagai dokumentasi tersedia:
Rilis 2.13.0 merupakan rilis terbaru saat ini. Rilis ini dianggap stabil dan layak diberi tag 2.x. Itu tergantung pada JDK 1.5 atau lebih baru.
Tersedia di repositori Maven Central
Konfigurasi Maven:
< dependency >
< groupId >joda-time</ groupId >
< artifactId >joda-time</ artifactId >
< version >2.13.0</ version >
</ dependency >
Konfigurasi tingkatan:
compile ' joda-time:joda-time:2.13.0 '
Proyek terkait di GitHub:
Proyek terkait lainnya:
Tersedia sebagai bagian dari Langganan Tidelift.
Joda dan pengelola ribuan paket lainnya bekerja sama dengan Tidelift untuk menghadirkan satu langganan perusahaan yang mencakup semua sumber terbuka yang Anda gunakan.
Jika Anda menginginkan fleksibilitas open source dan kepercayaan diri terhadap perangkat lunak kelas komersial, ini cocok untuk Anda.
Pelajari lebih lanjut
Silakan gunakan Stack Overflow untuk pertanyaan penggunaan umum. Masalah GitHub dan permintaan penarikan harus digunakan saat Anda ingin membantu memajukan proyek.
Setiap sumbangan untuk mendukung proyek diterima melalui OpenCollective.
Untuk melaporkan kerentanan keamanan, silakan gunakan kontak keamanan Tidelift. Tidelift akan mengoordinasikan perbaikan dan pengungkapan.
Joda-Time dikembangkan menggunakan alat GitHub standar. File checkstyle tersedia, dan PR harus mematuhinya. Proyek ini dapat dibangun menggunakan Apache Maven, seperti mvn clean install
. Integrasi Berkelanjutan terjadi menggunakan GitHub Actions. Pengujian unit ditulis dalam JUnit dan dijalankan sebagai bagian dari pembangunan dan integrasi berkelanjutan. Perubahan melalui PR harus mencakup cakupan tes yang sesuai.
Perhatikan bahwa Joda-Time dianggap sebagai proyek yang sebagian besar “selesai”. Tidak ada perbaikan besar yang direncanakan. Jika menggunakan Java SE 8, silakan bermigrasi ke java.time (JSR-310).
mvn clean deploy -Doss.repo -Dgpg.passphrase=""