美文网首页
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

    时间 前文讲述了时间点 Instant类。JDK8时间模型——Instant 现在分析 时间表 LocalDate...

  • java8 新日期和时间api

    1、新的日期类 LocalDate 2、新的时间类 LocalTime 3、新的日期时间类 LocalDateTi...

  • Java内存管理

    Java内存管理-JVM内存模型以及JDK7和JDK8内存模型对比总结

  • JDK8内存模型

    JDK8内存模型 作者时间雨中星辰2023-01-15 方法区 方法区:是各个线程共享的内存区域,用于存储已被虚拟...

  • LocalDate convert to LocalDateTi

    场景1:需要将LocalDate转换成LocalDateTime,并且设置其为当天的起始时间。例如:现在时间为:2...

  • Jdk8的日期时间类

    26.5 jdk8的日期时间类 [TOC]本文主要参考 Java编程的逻辑 一书 26章。 针对jdk8以前的时间...

  • Intellj Idea Maven 默认使用JDK8作为 编译

    在Intellj Idea 中Maven指定JDK8 版本 问题: 这段时间发现开发的时候JDK8 不能使用lam...

  • Java--内存模型

    JVM内存模型——JDK8如下图所示: 线程私有:程序计数器、虚拟机栈、本地方法栈 线程共享:MetaSpace、...

  • Jdk8 supportted DateUtil

    Jdk8 supportted DateUtil jdk8带来了一些列的改变。新的日期/时间api是最受欢迎的改变...

  • Java8日期类LocalDate & LocalDateTim

    一、JDK7 的日期 和 JDK8 的日期对比 JDK7 创建一个时间 JDK8 创建一个时间 我们先看看这执行出...

网友评论

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

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