Java日期和時間處理類庫:Joda-Time

openkk 14年前發布 | 34K 次閱讀 Java 常用工具包

Joda-Time提供了一組Java類包用于處理包括ISO8601標準在內的date和time。可以利用它把JDK Date和Calendar類完全替換掉,而且仍然能夠提供很好的集成。

Joda-Time主要的特點包括:

1. 易于使用:Calendar讓獲取"正常的"的日期變得很困難,使它沒辦法提供簡單的方法,而Joda-Time能夠 直接進行訪問域并且索引值1就是代表January。
2. 易于擴展:JDK支持多日歷系統是通過Calendar的子類來實現,這樣就顯示的非常笨重而且事實 上要實現其它日歷系統是很困難的。Joda-Time支持多日歷系統是通過基于Chronology類的插件體系來實現。
3. 提供一組完整的功能:它打算提供 所有關系到date-time計算的功能.Joda-Time當前支持6種日歷系統,而且在將來還會繼續添加。有著比JDK Calendar更好的整體性能等等。

下面是一些代碼示例:

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);
}

項目主頁:http://www.baiduhome.net/lib/view/home/1325143595311

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!