คำตอบคือ: มันขึ้นอยู่กับ
JODA (และ JSR-310) เป็นไลบรารีวันที่ / เวลาที่ทำงานได้อย่างสมบูรณ์รวมถึงการรองรับการใช้งานกับระบบปฏิทินหลายระบบ
โดยส่วนตัวแล้วฉันพบว่า JODA เป็นก้าวที่ไกลเกินไปในแง่ของความซับซ้อนสำหรับสิ่งที่ฉันต้องการ ข้อผิดพลาด 2 หลัก (IMHO) ใน java มาตรฐานDate
และCalendar
คลาสคือ:
- พวกเขาไม่แน่นอน
- พวกเขาผสมผสานแนวคิดของปี - เดือน - วันจากการโต้ตอบแบบทันทีในเวลา
ถึงแม้ว่าเหล่านี้ได้รับการแก้ไขโดย Joda คุณจะพบว่ามันค่อนข้างง่ายที่จะม้วนชั้นเรียนของคุณเองสำหรับการYearMonthDay
และInstant
ซึ่งทั้งคู่ใช้คลาส Java ภายใต้ประทุนสำหรับการคำนวณ "calendrical" จริง จากนั้นคุณไม่ต้องทำความคุ้นเคยกับ API> 100 คลาสกลไกการจัดรูปแบบ / การแยกวิเคราะห์ที่แตกต่างกันเป็นต้น
แน่นอนถ้าคุณต้องการแสดงเหตุการณ์ที่แตกต่างกันอย่างสมบูรณ์ (เช่นฮีบรู) หรือต้องการกำหนดระบบปฏิทินจินตภาพของคุณเอง (เช่นสำหรับเกมที่คุณกำลังเขียน) บางที JODA หรือ JRS-310 ก็เหมาะสำหรับคุณ ถ้าไม่เช่นนั้นฉันขอแนะนำว่าการกลิ้งตัวคุณเองอาจเป็นไปได้
ข้อมูลจำเพาะของ JSR-310 คือ Stephen Colebourne ผู้เขียน JODA ในอันดับที่ 1 ดังนั้นจะแทนที่ JODA อย่างมีเหตุผล