`

joda-time与jdk8新增的java.time.*

    博客分类:
  • J2EE
 
阅读更多

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

 

 

 

分享到:
评论

相关推荐

    jdk-1.8.0.201

    - **Date/Time API的更新**:Joda-Time库的部分功能被集成到新的java.time包中,提供了更强大且易于使用的日期和时间处理能力。 - **Optional类**:Optional类的引入旨在减少空指针异常的发生,鼓励开发者显式处理...

    jdk-api-1.8中文版.zip

    5. **Date和Time API的改进**:Joda-Time库的成功启发了Java 8的日期和时间API,新的API提供了更好的日期、时间、时区处理能力,更易于使用且功能强大。 6. **新集合工厂方法**:在ArrayList、LinkedList、HashSet...

    jdk,java环境安装,jdk8

    学习并掌握JDK8的安装与使用是Java开发者的必备技能,它为开发带来了诸多便利。通过理解这些特性,开发者可以写出更高效、更易于维护的代码。同时,对于Java的学习者来说,熟悉JDK8的安装过程有助于搭建开发环境,为...

    jdk-8u211-windows-i586.rar

    5. **Date和Time API的增强**:Joda-Time库的作者参与了JDK 1.8日期和时间API的设计,使得处理日期和时间变得更加简单和直观。 6. ** Nashorn JavaScript引擎**:JDK 1.8引入了一个内置的JavaScript引擎,允许Java...

    jdk 1.8中文版chm

    5. **新的日期时间API**:Joda-Time的替代品,提供了一个更强大且易于使用的日期和时间处理库,包括`java.time`包下的`LocalDate`、`LocalTime`、`LocalDateTime`等类。 6. **新的ConcurrentHashMap改进**:在并发...

    jdk_api_1.8中文版

    5. **日期和时间API的更新**:Joda-Time的作者参与设计了新的java.time包,提供了更强大、更易用的日期和时间处理功能。 6. **类型推断增强**:编译器在编译时可以更准确地推断泛型类型,使得代码更简洁,也减少了...

    jdk1.8版本

    Joda-Time库的作者Stephen Colebourne领导了这一项目,推出了java.time包,包括LocalDate、LocalTime、LocalDateTime、ZonedDateTime等类,提供了一套强大且易于使用的日期和时间处理工具。 在多线程领域,JDK 1.8...

Global site tag (gtag.js) - Google Analytics