joda-time可以简化java.util.Date和java.Calendar对时间和日期的操作,具体使用可以参照如下示例
@Test public void test() { DateTime dt = new DateTime(); System.out.println(dt.getYear() + "-" + dt.getMonthOfYear() + "-" + dt.getDayOfMonth() + " " + dt.getHourOfDay() + ":" + dt.getMinuteOfHour() + ":" + dt.getSecondOfMinute()); // 格式化带Locale,输出==> 2015-11-21 11:39:56 星期六 System.out.println(dt.toString("yyyy-MM-dd HH:mm:ss EE", Locale.CHINESE)); DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyyMMddHHmmss"); // 时间解析 DateTime dt2 = DateTime.parse("20150909101112", dtf); // 格式化输出 System.out.println(dt2.toString("yyyy/MM/dd HH:mm:ss")); // 根据指定格式,将时间字符串转换成DateTime对象,这里的格式和上面的输出格式是一样的 DateTime dt3 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss") .parseDateTime("2015-12-26 03:27:39"); System.out.println("dt3=" + dt3.toString("yyyy/MM/dd HH:mm:ss")); // 增加日期 DateTime dt4 = dt3.plusDays(-1) .plusHours(1) .plusMinutes(1) .plusSeconds(1); System.out.println("dt4=" + dt4.toString("yyyy/MM/dd HH:mm:ss")); //取得 3秒前的时间 DateTime dt5 = dt4.secondOfMinute().addToCopy(-3); dt4.getSecondOfMinute();// 得到整分钟后,过的秒钟数 dt4.getSecondOfDay();// 得到整天后,过的秒钟数 dt4.secondOfMinute();// 得到分钟对象,例如做闰年判断等使用 System.out.println("dt5=" + dt5.toString("yyyy/MM/dd HH:mm:ss") + ",seconds=" + dt5.getSecondOfMinute()); //计算两个日期间隔的天数 LocalDate start = new LocalDate(2014, 12, 18); LocalDate end = new LocalDate(2015, 12, 18); int days = Days.daysBetween(start, end).getDays(); System.out.println("days=" + days); //判断是否闰月 org.joda.time.DateTime.Property month = dt.monthOfYear(); System.out.println("是否闰月:" + month.isLeap() + ", 是否闰年:" + dt.yearOfCentury().isLeap()); // DateTime与java.util.Date对象,当前系统TimeMillis转换 DateTime dt6 = new DateTime(new Date()); Date date = dt6.toDate(); DateTime dt7 = new DateTime(System.currentTimeMillis()); Calendar calendar = Calendar.getInstance(); dt = new DateTime(calendar); }
相关推荐
- **Date/Time API的更新**:Joda-Time库的部分功能被集成到新的java.time包中,提供了更强大且易于使用的日期和时间处理能力。 - **Optional类**:Optional类的引入旨在减少空指针异常的发生,鼓励开发者显式处理...
5. **Date和Time API的改进**:Joda-Time库的成功启发了Java 8的日期和时间API,新的API提供了更好的日期、时间、时区处理能力,更易于使用且功能强大。 6. **新集合工厂方法**:在ArrayList、LinkedList、HashSet...
学习并掌握JDK8的安装与使用是Java开发者的必备技能,它为开发带来了诸多便利。通过理解这些特性,开发者可以写出更高效、更易于维护的代码。同时,对于Java的学习者来说,熟悉JDK8的安装过程有助于搭建开发环境,为...
5. **Date和Time API的增强**:Joda-Time库的作者参与了JDK 1.8日期和时间API的设计,使得处理日期和时间变得更加简单和直观。 6. ** Nashorn JavaScript引擎**:JDK 1.8引入了一个内置的JavaScript引擎,允许Java...
5. **新的日期时间API**:Joda-Time的替代品,提供了一个更强大且易于使用的日期和时间处理库,包括`java.time`包下的`LocalDate`、`LocalTime`、`LocalDateTime`等类。 6. **新的ConcurrentHashMap改进**:在并发...
5. **日期和时间API的更新**:Joda-Time的作者参与设计了新的java.time包,提供了更强大、更易用的日期和时间处理功能。 6. **类型推断增强**:编译器在编译时可以更准确地推断泛型类型,使得代码更简洁,也减少了...
Joda-Time库的作者Stephen Colebourne领导了这一项目,推出了java.time包,包括LocalDate、LocalTime、LocalDateTime、ZonedDateTime等类,提供了一套强大且易于使用的日期和时间处理工具。 在多线程领域,JDK 1.8...