csdn上阅读体验不够好,可以去这里看.

  • java.time 包下有5 个大包

    • java.time 包含值对象的基础包
    • java.time.chrono 提供对不同的日历系统的访问
    • java.time.format 格式化和解析时间和日期
    • java.time.temporal 包括底层框架和扩展特性
    • java.time.zone 包含时区支持的类
    • 所有的类都是不可变的/线程安全的
    • LocalDateTime: 只存储了日期和时间, 如2017-03-21T14:02:43.455。(后面的.455表示毫秒值的最后三位,使用.withNano(0)可把毫秒值设为0)
    • LocalDate: 只存储了日期, 如: 2017-03-21。
    • LocalTime: 只存储了时间, 如:14:02:43.455。(后面的.455表示毫秒值的最后三位,使用.withNano(0)可把毫秒值设为0)
    • Year: 只表示年份 Month:只表示月份 YearMonth:只表示月日DayOfWeek:只存储星期的一天
    • Instant 相当于java.util的Date Clock: 它通过指定一个时区, 然后就可以获取到当前的时刻,日期与时间. Clock可以替换System.currentTimeMillis() 与 TimeZone.getDefault().
    • ZoneDateTime 可以得到特定时区的日期/时间
    • Duration 是用来计算两个日期的时间差
    • java.time.format.DateTimeFormatter
      • 模板属性是和SimpleDateFormat是一样的
      • SimpleDateFormat与DateTimeFormatter的区别
        • 日期转字符串

          • SimpleDateFormat
            //使用Date和SimpleDateFormat SimpleDateFormat simpleDateFormat = new SimpleDateFormat("G yyyy年MM月dd号 E a hh时mm分ss秒"); String format = simpleDateFormat.format(new Date()); System.out.println(format); //打印: 公元 2017年03月21号 星期二 下午 06时38分20秒
          • DateTimeFormatter
            //使用jdk1.8 LocalDateTime和DateTimeFormatter LocalDateTime now = LocalDateTime.now(); DateTimeFormatter pattern = DateTimeFormatter.ofPattern("G yyyy年MM月dd号 E a hh时mm分ss秒"); String format = now.format(pattern); System.out.println(format); //打印: 公元 2017年03月21号 星期二 下午 06时38分20秒
        • 字符串转日期
          • SimpleDateFormat
            /使用Date和SimpleDateFormat SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date date = simpleDateFormat.parse("2017-12-03 10:15:30"); System.out.println(simpleDateFormat.format(date)); //打印 2017-12-03 10:15:30
          • DateTimeFormatter
            /使用jdk1.8 LocalDateTime和DateTimeFormatter DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); //严格按照ISO yyyy-MM-dd验证,03写成3都不行 LocalDateTime dt = LocalDateTime.parse("2017-12-03 10:15:30",pattern); System.out.println(dt.format(pattern));
  • LocalDateTime和Date相互转换
    • Date to LocalDateTime
      Date todayDate = new Date();LocalDateTime ldt = todayDate.toInstant() .atZone( ZoneId.systemDefault() ) .toLocalDateTime();System.out.println(ldt);//2019-05-16T19:22:12.773
    • LocalDateTime to Date
      LocalDateTime localDateTime = LocalDateTime.now();Date date = Date.from( localDateTime.atZone( ZoneId.systemDefault()).toInstant());System.out.println(date);//Thu May 16 19:22:37 CST 2019
  • 获取当前日期
    • //2019-06-19
    • LocalDate nowLocalDate=LocalDate.now();
    • DateTimeFormatter formatter=DataTimeFormatter.ofPattern("yyyy-MM-dd");
    • String nowString = nowLocalDate.format(formatter);
  • 获取当前时间
    • //10:03:22.237
    • LocalTime localTime = LocalTime.now();
    • DateTimeFormatter formatter=DateTimeFormatter.ofPattern("HH:mm:ss");
    • String stringTime=localTime.format(formatter);
  • 获取当前日期和时间
    • LocalDateTime localDateTime = LocalDateTime.now();
    • DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    • String dateTime=LocalDateTime.now().format(formatter); //2019-06-19 10:06:05
    • String dateTime=LocalDateTime.now().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME); //2019-06-19T10:37:07.407
  • 自定义时间(LocalDate)
    • LocalTime localTime=LocalTime.parse("10:09:20");
    • LocalDate localDate=LocalDate.parse("2019-06-19");
    • LocalDateTime localDateTime=LocalDateTime.parse("2019-06-19T10:09:30");
  • 计算两个日期的时间差
    • long day=LocalDate.now().toEpocDay(); //18066 获取从1970年以来的天数
    • long day=LocalDate.now().toEpocDay()- LocalDate.parse("2017-12-01").toEpocDay(); //获取两个时间的天数差
  • 判断日期的先后
    • isBefore isAfter
  • 自定义模板当使用不存在的字段时
    • DateTimeFormatter formatter = new DateTimeFormatterBuilder()
    • .appendPattern(“yyyyMM”)
    • .parseDefaulting(ChronoField.DAY_OF_MONTH,1)
    • .toFormatter();
    • LocalDate localDate = LocalDate.parse(date,formatter);

Java8 Time包幕布笔记相关推荐

  1. 《Java8实战》读书笔记10:组合式异步编程 CompletableFuture

    <Java8实战>读书笔记10:组合式异步编程 CompletableFuture 第11章 CompletableFuture:组合式异步编程 11.1 Future 接口 (只是个引子 ...

  2. Java8新特性学习笔记

    Java8新特性学习笔记 文章目录 Java8新特性学习笔记 一.接口和日期处理 1.接口增强 1.1.JDK8以前 VS JDK8 1)接口定义: 1.2.默认方法(default) 1)默认方法格 ...

  3. 《Java8实战》读书笔记06:Parallel Stream 并行流

    <Java8实战>读书笔记06:Parallel Stream 并行流 第7章 并行数据处理与性能 7.1 并行流 7.1.1 将顺序流转换为并行流 7.1.2 测量流性能 7.1.3 正 ...

  4. RealSence 驱动及ROS包配置笔记

    RealSence 驱动及ROS包配置笔记 1. 下载SDK及ROS包 打开https://github.com/IntelRealSense/librealsense/releases.下载对应版本 ...

  5. python plt包_Python 数据可视化-Matplotlib包学习笔记(一)

    Python 数据可视化 本文主要参照Matplotlib的官方教程进行整理,作为个人的学习笔记进行分享,欢迎相互讨论. Matplotlib包学习笔记(一) 本文主要简单介绍一下Matplotlib ...

  6. UpSetR 关联的 venneuler 包安装笔记

    本文章已经设置了最低额度的付费阅读,如果您觉得文章对您有用,且手头宽裕,欢迎请作者喝杯热茶.本文章付费部分内容并不影响您对文章的阅读和理解,只是作者对付费阅读的一次尝试,感谢. 背景 R 语言中的 v ...

  7. R语言dplyr包学习笔记(吐血整理宇宙无敌详细版)

    出处:AI入门学习 dplyr包主要用于数据清洗和整理,主要功能有:行选择.列选择.统计汇总.窗口函数.数据框交集等是非常高效.友好的数据处理包,学清楚了,基本上数据能随意玩弄,对的,随意玩弄,简直大 ...

  8. 幕布笔记批量导入到anki

    幕布是款亲测好用的大纲笔记,而anki是款flash card工具. 大段时间可将笔记整理到幕布,碎片时间则可以抽查记忆. 功能:支持三层大纲制作,比如 以下代码可直接使用 import org.js ...

  9. Android V7包学习笔记更新中.....

    关于V4 V7 V13 VX包介绍转自这里 1, Android Support V4, V7, V13是什么? 本质上就是三个java library. 2, 为什么要有support库? 如果在低 ...

最新文章

  1. listview 滑动以后设置最上面一行为整行展示
  2. MYSQL数据库——mysql的数据类型和运算符
  3. [转]VirtualBox下RedHat 5.4 使用DVD光盘作为yum源
  4. 返回指定月份的周列表 包含 周序号、开始日期、结束日期(不包含周末)
  5. spark-sql建表语句限制_SparkSQL
  6. catcti监控linux主机,CentOS7搭建Prometheus 监控Linux主机
  7. 用mac的safari浏览器调试ios手机的网页
  8. .NET Framework3.0答疑
  9. X-UA-Compatible 解决IE浏览器样式不兼容问题
  10. Nali:一个离线查询 IP 地理信息和 CDN 提供商的终端利器
  11. hashmap常见问题集锦
  12. 泛微E-Office v9任意文件上传(CNVD-2021-49104)复现
  13. LBS(基于位置服务)常见定位技术综合分析
  14. 2018,丁磊的野心静悄悄
  15. 重庆大学科幻协会发展史
  16. 行业首选|墨菲安全实力入选《开发安全产品及服务购买决策参考》
  17. 读书笔记-精准努力-对待失败的正确思维
  18. 新唐单片机keil驱动问题
  19. 自定义控件:图片轮播,点击图片进入webview
  20. ddt python_Python 之数据驱动工具:DDT

热门文章

  1. 一个整数拆分为连续自然数之和
  2. 解决Request method 'POST' not supported问题
  3. MIC 增益调节 MT6357
  4. 一篇文章让你走进Java世界
  5. 202112-1 序列查询 CCF认证真题
  6. 计算机组成原理简答知识点,计算机组成原理简答题汇总,史上最全
  7. LeetCode 860. 柠檬水找零 (简单)greedy
  8. 在阿里云ECS服务器上搭建tomcat
  9. 【串口通信】K210与STM32串口通信、K210与OpenMV串口通信
  10. MyBioSource 重组人白细胞介素-24解决方案