開源時間開發工具Joda-time介紹
1 Joda-time介紹
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更好的整體性能等等。
2 Joda-time安裝
官方網址:http://joda-time.sourceforge.net/index.html
下載地址:http://sourceforge.net/projects/joda-time/files/joda-time/2.0/
下載包結構如下:
在項目中要使用Joda-time只要將joda-time-2.0.jar導入項目lib目錄下即可。
3 基本功能介紹
3.1 DateTime
DateTime in = new DateTime();
System.out.println(in.now()); //國際標準時間
System.out.println(in.getYear()); //當年
System.out.println(in.getMonthOfYear()); //當月
System.out.println(in.getDayOfMonth()); //當月第幾天
System.out.println(in.getDayOfWeek());//本周第幾天
System.out.println(in.getDayOfYear());//本年第幾天
System.out.println(in.getHourOfDay());//時
System.out.println(in.getMinuteOfHour());//分
System.out.println(in.getMinuteOfDay());//當天第幾分鐘
System.out.println(in.getSecondOfMinute());//秒
System.out.println(in.getSecondOfDay());//當天第幾秒
System.out.println(in.getWeekOfWeekyear());//本年第幾周
System.out.println(in.getZone());//所在時區
System.out.println(in.dayOfWeek().getAsText()); //當天是星期幾,例如:星期五
System.out.println(in.yearOfEra().isLeap()); //當你是不是閏年,返回boolean值
System.out.println(in.dayOfMonth().getMaximumValue());//當月day里面最大的值
3.2 更改日期格式
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd hh:mm:ss");//自定義日期格式
in.now().toString(fmt) //使用自定義的日期格式化當期日期
3.3 日期比較:
DateTime in = new DateTime();
DateTime in2 = new DateTime(in.getMillis() + 10);
in.equals(in2) //false
in.compareTo(in2) //-1
in.isEqual(in2) //false
in.isAfter(in2) //false
in.isBefore(in2)//true
要了解更多功能請查閱官方在線文檔:
http://joda-time.sourceforge.net/userguide.html#Change_the_Current_Time