Java8 Time包幕布笔记
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
- 字符串转日期
- 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));
- SimpleDateFormat
- 日期转字符串
- 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
- Date to LocalDateTime
- 获取当前日期
- //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包幕布笔记相关推荐
- 《Java8实战》读书笔记10:组合式异步编程 CompletableFuture
<Java8实战>读书笔记10:组合式异步编程 CompletableFuture 第11章 CompletableFuture:组合式异步编程 11.1 Future 接口 (只是个引子 ...
- Java8新特性学习笔记
Java8新特性学习笔记 文章目录 Java8新特性学习笔记 一.接口和日期处理 1.接口增强 1.1.JDK8以前 VS JDK8 1)接口定义: 1.2.默认方法(default) 1)默认方法格 ...
- 《Java8实战》读书笔记06:Parallel Stream 并行流
<Java8实战>读书笔记06:Parallel Stream 并行流 第7章 并行数据处理与性能 7.1 并行流 7.1.1 将顺序流转换为并行流 7.1.2 测量流性能 7.1.3 正 ...
- RealSence 驱动及ROS包配置笔记
RealSence 驱动及ROS包配置笔记 1. 下载SDK及ROS包 打开https://github.com/IntelRealSense/librealsense/releases.下载对应版本 ...
- python plt包_Python 数据可视化-Matplotlib包学习笔记(一)
Python 数据可视化 本文主要参照Matplotlib的官方教程进行整理,作为个人的学习笔记进行分享,欢迎相互讨论. Matplotlib包学习笔记(一) 本文主要简单介绍一下Matplotlib ...
- UpSetR 关联的 venneuler 包安装笔记
本文章已经设置了最低额度的付费阅读,如果您觉得文章对您有用,且手头宽裕,欢迎请作者喝杯热茶.本文章付费部分内容并不影响您对文章的阅读和理解,只是作者对付费阅读的一次尝试,感谢. 背景 R 语言中的 v ...
- R语言dplyr包学习笔记(吐血整理宇宙无敌详细版)
出处:AI入门学习 dplyr包主要用于数据清洗和整理,主要功能有:行选择.列选择.统计汇总.窗口函数.数据框交集等是非常高效.友好的数据处理包,学清楚了,基本上数据能随意玩弄,对的,随意玩弄,简直大 ...
- 幕布笔记批量导入到anki
幕布是款亲测好用的大纲笔记,而anki是款flash card工具. 大段时间可将笔记整理到幕布,碎片时间则可以抽查记忆. 功能:支持三层大纲制作,比如 以下代码可直接使用 import org.js ...
- Android V7包学习笔记更新中.....
关于V4 V7 V13 VX包介绍转自这里 1, Android Support V4, V7, V13是什么? 本质上就是三个java library. 2, 为什么要有support库? 如果在低 ...
最新文章
- listview 滑动以后设置最上面一行为整行展示
- MYSQL数据库——mysql的数据类型和运算符
- [转]VirtualBox下RedHat 5.4 使用DVD光盘作为yum源
- 返回指定月份的周列表 包含 周序号、开始日期、结束日期(不包含周末)
- spark-sql建表语句限制_SparkSQL
- catcti监控linux主机,CentOS7搭建Prometheus 监控Linux主机
- 用mac的safari浏览器调试ios手机的网页
- .NET Framework3.0答疑
- X-UA-Compatible 解决IE浏览器样式不兼容问题
- Nali:一个离线查询 IP 地理信息和 CDN 提供商的终端利器
- hashmap常见问题集锦
- 泛微E-Office v9任意文件上传(CNVD-2021-49104)复现
- LBS(基于位置服务)常见定位技术综合分析
- 2018,丁磊的野心静悄悄
- 重庆大学科幻协会发展史
- 行业首选|墨菲安全实力入选《开发安全产品及服务购买决策参考》
- 读书笔记-精准努力-对待失败的正确思维
- 新唐单片机keil驱动问题
- 自定义控件:图片轮播,点击图片进入webview
- ddt python_Python 之数据驱动工具:DDT