• 【Java8新特性】Java新的时间日期API


    Java8引入了新的时间和日期API,非常方便好用。在这里记录下新的api在工作中常用的操作

    一、获取当前时间和日期

    1.获取当前日期

    LocalDate now = LocalDate.now();
    System.out.println(now);
    System.out.println(now.getYear() + "," + now.getMonthValue() + "," + now.getDayOfMonth());
    // 输出结果:
    2020-09-22
    2020,9,22
    

    2.获取当前时间

    LocalTime nowTime = LocalTime.now();
    System.out.println(nowTime);
    
    // 输出结果:
    00:05:45.404
    

    3.获取当前的日期时间

    LocalDateTime nowDateTime = LocalDateTime.now();
    System.out.println(nowDateTime);
    
    // 输出结果:
    2020-09-22T00:05:45.404
    

    二、构造时间和日期

    LocalDate localDate = LocalDate.of(2020, 9, 25);
    LocalDateTime localDateTime = LocalDateTime.of(2020, 9, 25, 21, 50);
    System.out.println(localDate);
    System.out.println(localDateTime);
    
    // 输出结果:
    2020-09-25
    2020-09-25T21:50
    

    三、时间、日期加减操作和比较

    1.加减年月日小时

    LocalDateTime nowDateTime = LocalDateTime.now();
    System.out.println(nowDateTime);
    System.out.println(nowDateTime.plusDays(1));
    System.out.println(nowDateTime.minusDays(1));
    System.out.println(nowDateTime.plus(1, ChronoUnit.DAYS));
    System.out.println(nowDateTime.plus(1, ChronoUnit.MONTHS));
    
    // 输出结果:
    2020-09-26T21:40:50.896
    2020-09-27T21:40:50.896
    2020-09-25T21:40:50.896
    2020-09-27T21:40:50.896
    2020-10-26T21:40:50.896
    

    2.时间比较

    LocalDate day1 = LocalDate.of(2019, 9, 25);
    LocalDate day2 = LocalDate.of(2020, 9, 25);
    System.out.println(day1.isBefore(day2));
    System.out.println(day1.isAfter(day2));
    
     // 输出结果:
    true
    false
    

    3.计算两个时间相差的年月日

    LocalDate day1 = LocalDate.of(2019, 9, 25);
    LocalDate day2 = LocalDate.of(2020, 9, 25);
    System.out.println(ChronoUnit.DAYS.between(day1, day2));
    System.out.println(ChronoUnit.MONTHS.between(day1, day2));
    System.out.println(ChronoUnit.YEARS.between(day1, day2));
    
    // 输出结果:
    366
    12
    1
    

    四、字符串与时间、日期互转

    1. 时间转String

    LocalDateTime nowDateTime = LocalDateTime.now();
    System.out.println(nowDateTime);
    System.out.println(nowDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
    
    // 输出结果:
    2020-09-26T19:51:17.798
    2020-09-26 19:51:17
    

    2. String转时间

    String nowDay = "20200926";
    System.out.println(LocalDate.parse(nowDay, DateTimeFormatter.ofPattern("yyyyMMdd")));
    String nowTime = "20200926 19:57:38";
    System.out.println(LocalDateTime.parse(nowTime, DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss")));
    
    // 输出结果:
    2020-09-26
    2020-09-26T19:57:38
    
  • 相关阅读:
    十二经络容易堵塞穴位
    考研英语词汇-乱序便携版-遗忘曲线
    分享一个硬核理工类科普节目:回到2049(12月17号取消置顶)
    191129
    191130
    191128
    191127
    191126
    191125
    微信公众号自定义菜单中添加图标(转)
  • 原文地址:https://www.cnblogs.com/yangyh11/p/13736997.html
Copyright © 2020-2023  润新知