يوفر Joda-Time بديلاً عالي الجودة لفئات التاريخ والوقت في Java. يسمح التصميم بأنظمة تقويم متعددة، مع توفير واجهة برمجة تطبيقات بسيطة. التقويم "الافتراضي" هو معيار ISO8601 الذي يستخدمه XML. كما يتم تضمين الأنظمة الجريجورية والجوليانية والبوذية والقبطية والإثيوبية والإسلامية. تشمل الفصول الداعمة المنطقة الزمنية والمدة والتنسيق والتحليل.
لم يعد Joda-time قيد التطوير النشط باستثناء تحديث بيانات المنطقة الزمنية. بدءًا من Java SE 8 وما بعده، يُطلب من المستخدمين الانتقال إلى java.time
(JSR-310) - وهو جزء أساسي من JDK الذي يحل محل هذا المشروع. بالنسبة لمستخدمي 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 المركزي
تكوين مخضرم:
< dependency >
< groupId >joda-time</ groupId >
< artifactId >joda-time</ artifactId >
< version >2.13.0</ version >
</ dependency >
تكوين Gradle:
compile ' joda-time:joda-time:2.13.0 '
المشاريع ذات الصلة في جيثب:
مشاريع أخرى ذات صلة:
متاح كجزء من اشتراك Tidelift.
تعمل Joda ومشرفو الآلاف من الحزم الأخرى مع Tidelift لتقديم اشتراك مؤسسي واحد يغطي جميع المصادر المفتوحة التي تستخدمها.
إذا كنت تريد مرونة المصدر المفتوح وثقة البرامج التجارية، فهذا هو ما يناسبك.
يتعلم أكثر
الرجاء استخدام Stack Overflow لأسئلة الاستخدام العامة. يجب استخدام مشكلات GitHub وطلبات السحب عندما تريد المساعدة في تطوير المشروع.
يتم قبول أي تبرعات لدعم المشروع عبر OpenCollective.
للإبلاغ عن ثغرة أمنية، يرجى استخدام جهة الاتصال الأمنية Tidelift. سوف يقوم Tidelift بتنسيق الإصلاح والكشف.
تم تطوير Joda-Time باستخدام أدوات GitHub القياسية. يتوفر ملف checkstyle، ويجب على الممثلين الدائمين الالتزام به. يمكن بناء المشروع باستخدام Apache Maven، مثل mvn clean install
. يتم التكامل المستمر باستخدام إجراءات GitHub. تتم كتابة اختبارات الوحدات في JUnit ويتم تشغيلها كجزء من البناء والتكامل المستمر. يجب أن تتضمن التغييرات عبر العلاقات العامة تغطية اختبار مناسبة.
لاحظ أن Joda-Time يعتبر مشروعًا "مكتملًا" إلى حد كبير. لم يتم التخطيط لإجراء تحسينات كبيرة. إذا كنت تستخدم Java SE 8، فيرجى الانتقال إلى java.time (JSR-310).
mvn clean deploy -Doss.repo -Dgpg.passphrase=""