美文网首页
2017-06-26 JDK8时间模型——LocalDateTi

2017-06-26 JDK8时间模型——LocalDateTi

作者: 冰红茶盖 | 来源:发表于2017-06-26 17:52 被阅读0次

    时间

    前文讲述了时间点 Instant类。JDK8时间模型——Instant

    现在分析 时间表 LocalDateTime 和 日期格式 DateTimeFormatter。
    LocalDateTime 类似 之前的Calendar;DateTimeFormatter 和 之前的 SimpleDateFormatter 相似。

    LocalDateTime

    直接上代码:

        // 当前日期
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDateTime); // 2017-06-26T17:46:11.366
        // 改变 年月日
        int year=2017, month=6, dayOfMonth=25;
        localDateTime = localDateTime.withYear(year);
        localDateTime = localDateTime.withMonth(month);
        localDateTime = localDateTime.withDayOfMonth(dayOfMonth);
        System.out.println(localDateTime); // 2017-06-25T17:46:11.366
    
        // 裁剪(用的有限制,日以上单位均无效)
        localDateTime = localDateTime.truncatedTo(ChronoUnit.DAYS);
        System.out.println(localDateTime); // 2017-06-25T00:00
        localDateTime.truncatedTo(ChronoUnit.MONTHS); // error : UnsupportedTemporalTypeException: Unit is too large to be used for truncation
    
        // String => LocalDateTime
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        localDateTime = LocalDateTime.parse("2017-06-01 01:02:03", dtf);
        System.out.println(localDateTime); //2017-06-01T01:02:03
    

    DateTimeFormatter

    已提供的若干静态formatter:
    // 默认提供 System.out.println(ISO_LOCAL_DATE.format(LocalDateTime.now())); // 2017-06-26 System.out.println(ISO_DATE.format(LocalDateTime.now())); // 2017-06-26 System.out.println(BASIC_ISO_DATE.format(LocalDateTime.now())); // 20170626

    如果不够用,当然可以自定义DateTimeFormatter :
    // 自定义 DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); System.out.println(dtf.format(LocalDateTime.now())); // 2017-06-26 17:37:57

    改了原来的DateUtils吗?

    并没有改原来的类,同时旧代码的调用保留。
    替换需要更多的TeseCase,原来的类继续使用,新功能建议使用新DateUtils。

    收获

    新的Date API 熟悉并使用了它们写了新的DateUtils。

    相关文章

      网友评论

          本文标题:2017-06-26 JDK8时间模型——LocalDateTi

          本文链接:https://www.haomeiwen.com/subject/royjcxtx.html