最代碼官方2016-02-15 15:04:35
原
java開源時間框架joda-time簡單使用的junit實例
maven依賴:
<dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.9.2</version> </dependency>
官方地址:http://www.joda.org/joda-time/
package com.date; import java.text.ParseException; import java.util.Date; import org.joda.time.DateTime; import org.joda.time.DateTimeConstants; import org.joda.time.DateTimeZone; import org.joda.time.Days; import org.joda.time.Duration; import org.joda.time.Hours; import org.joda.time.Interval; import org.joda.time.LocalDate; import org.joda.time.LocalTime; import org.joda.time.Minutes; import org.joda.time.Period; import org.joda.time.PeriodType; import org.joda.time.Seconds; import org.junit.Test; public class JodaTimeTest { @Test // 計算時間差 public void test1() throws ParseException { DateTime dt1 = new DateTime(2016, 2, 14, 16, 0, 0, 0); DateTime dt2 = new DateTime(2016, 2, 15, 16, 0, 0, 0); System.out.print("時間相差:"); System.out.print(Days.daysBetween(dt1, dt2).getDays() + " 天 "); System.out.print(Hours.hoursBetween(dt1, dt2).getHours() % 24 + " 小時 "); System.out.print(Minutes.minutesBetween(dt1, dt2).getMinutes() % 60 + " 分鐘 "); System.out.print(Seconds.secondsBetween(dt1, dt2).getSeconds() % 60 + " 秒."); System.out.println(); } @Test // Interval計算時間差值 public void test2() { DateTime dt1 = new DateTime(2016, 2, 14, 16, 0, 0, 0); DateTime dt2 = new DateTime(2016, 2, 15, 16, 0, 0, 0); Interval interval = new Interval(dt1.getMillis(), dt2.getMillis()); Period p = interval.toPeriod(); System.out.println("時間相差:" + p.getDays() + " 天 " + p.getHours() + " 小時 " + p.getMinutes() + " 分鐘" + p.getSeconds() + " 秒"); } @Test // 日期前后推算 public void test3() { DateTime dt = new DateTime(); // 昨天 DateTime yesterday = dt.minusDays(1); // 明天 DateTime tomorrow = dt.plusDays(1); // 1個月前 DateTime before1month = dt.minusMonths(1); // 3個月后 DateTime after3month = dt.plusMonths(3); // 2年前 DateTime before2year = dt.minusYears(2); // 5年后 DateTime after5year = dt.plusYears(5); } @Test // 構造函數 public void test4() { // 方法一:取系統點間 DateTime dt1 = new DateTime(); // 方法二:通過java.util.Date對象生成 DateTime dt2 = new DateTime(new Date()); // 方法三:指定年月日點分秒生成(參數依次是:年,月,日,時,分,秒,毫秒) DateTime dt3 = new DateTime(2012, 5, 20, 13, 14, 0, 0); // 方法四:ISO8601形式生成 DateTime dt4 = new DateTime("2012-05-20"); DateTime dt5 = new DateTime("2012-05-20T13:14:00"); // 只需要年月日的時候 LocalDate localDate = new LocalDate(2016, 9, 6);// September 6, 2009 // 只需要時分秒毫秒的時候 LocalTime localTime = new LocalTime(13, 30, 26, 0);// 1:30:26PM } @Test // 獲取年月日星期,點分秒,毫秒 public void test5() { DateTime dt = new DateTime(); // 年 int year = dt.getYear(); // 月 int month = dt.getMonthOfYear(); // 日 int day = dt.getDayOfMonth(); // 星期 int week = dt.getDayOfWeek(); // 點 int hour = dt.getHourOfDay(); // 分 int min = dt.getMinuteOfHour(); // 秒 int sec = dt.getSecondOfMinute(); // 毫秒 int msec = dt.getMillisOfSecond(); } @Test // 星期的特殊處理 public void test6() { DateTime dt = new DateTime(); // 星期 switch (dt.getDayOfWeek()) { case DateTimeConstants.SUNDAY: System.out.println("星期日"); break; case DateTimeConstants.MONDAY: System.out.println("星期一"); break; case DateTimeConstants.TUESDAY: System.out.println("星期二"); break; case DateTimeConstants.WEDNESDAY: System.out.println("星期三"); break; case DateTimeConstants.THURSDAY: System.out.println("星期四"); break; case DateTimeConstants.FRIDAY: System.out.println("星期五"); break; case DateTimeConstants.SATURDAY: System.out.println("星期六"); break; } } @Test // 取特殊日期 public void test7() { DateTime dt = new DateTime(); // 月末日期 DateTime lastday = dt.dayOfMonth().withMaximumValue(); // 90天后那周的周一 DateTime firstday = dt.plusDays(90).dayOfWeek().withMinimumValue(); } @Test // 時區 public void test8() { // 默認設置為日本時間 DateTimeZone.setDefault(DateTimeZone.forID("Asia/Tokyo")); DateTime dt1 = new DateTime(); // 倫敦時間 DateTime dt2 = new DateTime(DateTimeZone.forID("Europe/London")); } @Test // 計算區間 public void test9() { DateTime begin = new DateTime("2012-02-01"); DateTime end = new DateTime("2012-05-01"); // 計算區間毫秒數 Duration d = new Duration(begin, end); long time = d.getMillis(); // 計算區間天數 Period p = new Period(begin, end, PeriodType.days()); int days = p.getDays(); // 計算特定日期是否在該區間內 Interval i = new Interval(begin, end); boolean contained = i.contains(new DateTime("2012-03-01")); } @Test // 計算區間 public void test10() { DateTime d1 = new DateTime("2012-02-01"); DateTime d2 = new DateTime("2012-05-01"); // 和系統時間比 boolean b1 = d1.isAfterNow(); boolean b2 = d1.isBeforeNow(); boolean b3 = d1.isEqualNow(); // 和其他日期比 boolean f1 = d1.isAfter(d2); boolean f2 = d1.isBefore(d2); boolean f3 = d1.isEqual(d2); } @Test // 格式化輸出 public void test11() { DateTime dateTime = new DateTime(); String s1 = dateTime.toString("yyyy/MM/dd hh:mm:ss.SSSa"); String s2 = dateTime.toString("yyyy-MM-dd HH:mm:ss"); String s3 = dateTime.toString("EEEE dd MMMM, yyyy HH:mm:ssa"); String s4 = dateTime.toString("yyyy/MM/dd HH:mm ZZZZ"); String s5 = dateTime.toString("yyyy/MM/dd HH:mm Z"); } }
猜你喜歡
- 【豬豬-后端】Joda開源擴展插件,神馬日期工具類都是浮云!!Demo下載運行即可查看,注釋齊全,真心好用,分享大家。
- java實現幾分鐘前,幾小時前,幾天前的代碼
- java時間工具類(自定義java時間函數30多個)
- java通過Aspose.Word控件實現Word文檔的操作
- Java輕量級消息框架和整合平臺mule ESB應用實例分享
- java開源圖片框架Thumbnailator對圖片各種處理的方法(可做到對原圖片壓縮僅改變大小)
- HP-Socket java高性能TCP/UDP通信框架,java版,直接導入myeclipse即可測試
- java并行執行任務的框架Fork/Join的使用實例
- java開源微博系統weibo4j分享
- 新浪微博時間格式化java工具類,實現幾分鐘前,幾小時前,幾天前
- java常用日期時間工具類大全
- java時間操作工具類得到本周周一,周末,本月1號,月末日期

請下載代碼后再發表評論
- 證HTML5+jQuery制作溫馨浪漫愛心表白動畫特效
- 精Apache Shiro+SpringMVC+Hibernate Search+Hibernate+Bootstrap企業信息管理系統基礎框架搭建整合實例代碼教程
- 證精spring MVC+easyUI+mybatis開發網站后臺管理系統源代碼下載
- 精html網站內容管理系統后臺模板源代碼下載,花錢買的模板。
- 證一套EASYUI的經典后臺管理模板
- 原精spring mvc+spring+mybatis+shiro+easyui整合開發后臺用戶權限管理系統
- 證精java開源CMS管理系統jeetemp
- 一款漂亮的輕量級bootstrap中文后臺管理系統模板ace
- 證jsp+servlet+mysql員工管理系統源代碼下載
- js框架jquery實現幸運大轉盤抽獎程序代碼,兼容多種瀏覽器
- 證HTML5音樂播放器效果非常漂亮
- 證精SpringBoot開發非常美觀的java博客系統(包含后臺管理功能)
- 證精java開源CMS管理系統jeetemp
- java牛官方想開發一個全部開源的系統
- 證精企業人力資源管理項目SSH+EXTJS+MySQL整合開發
- 精基于springMVC+springSecurity3.x+Mybaits3.x的權限系統,,開放源碼,支持開源
- 證精spring MVC+easyUI+mybatis開發網站后臺管理系統源代碼下載
- 證精springmvc+hibernate+jbpm開發OA自動化辦公后臺管理系統源碼下載
- 【豬豬-前端】基于HTML5 Bootstrap搭建的后臺模板charisma,分頁,模糊查詢已經全部JS實現,無需編碼,嵌入數據即可開發,內置8款皮膚,歐美風格,非常好用!
- 精Apache Shiro+SpringMVC+Hibernate Search+Hibernate+Bootstrap企業信息管理系統基礎框架搭建整合實例代碼教程
- 證精struts2.3+hibernate4.1+spring3.2+EasyUI1.36整合實現的java后臺管理系統
- 證HTML5+jQuery制作溫馨浪漫愛心表白動畫特效
- 證精spring+spring mvc+mybatis+bootstrap框架整合搭建ssm完整項目
- 原證精ssh框架開發的個人博客系統源碼下載,基于mysql數據庫
- 原證Spring Boot簡單而又強大的AOP異步日志注解系統
- 證精spring+spring mvc+spring jpa+velocity開發b2c多用戶商城項目,功能比較完善,有后臺管理系統
- 證3D動態登錄頁面特效
- 原spring boot整合Security實現單點登錄,支付寶支付demo(沙盒模式)。
- 原證精java servlet+mysql開發的學校官網+教務系統+圖書館系統,功能完善,供參考學習
- 證java swing實現超級簡單,最基礎的一個俄羅斯方塊和貪吃蛇
- 證精ssm+jsp開發java學生信息與選課系統(優化界面)
- 原證純jsp開發java web簡單電影網站項目
- 原證基于java swing的連連看小游戲
- 原證SSM+JQ+Ajax實現學生信息管理系統
- python開發飛機大戰游戲
- 證使用netty實現文件列表下載的功能



做個熟悉的陌生人 LV411月30日
zs12345 LV611月27日
FFF112233 LV511月6日
dakai6677 LV109月30日
vclulu LV29月20日
haoyue_2015069月19日
暫無貢獻等級
lby970321 LV29月11日
tuhao888 LV99月2日
lisnut LV18月22日
qq1654486219 LV68月1日