各位小伙伴们,我们又见面了,今天峰哥跟大家分享一下java8的全新日期时间处理API。在Java8之前,我们使用的日期时间是:

java.util.Datejava.util.Calendar

java.util.GregorianCalendar

日期时间与字符串之间的转换用java.text.SimpleDateFormat,这些处理日期的类有一个共同令人头疼的问题,就是这些对象都是变量,对象的数据属性可以被改变,而且还线程不安全。

如果想要线程安全,需要synchronized来辅助,这样复杂度和代码量就比较大了,而且修修补补的代码味道很差,现在好了,随着JDK8的发布,Java也提出全新的日期时间API,下面大家跟着峰哥一起探探究竟。

在jdk8中,日期的处理类都在java.time包下,常用的有:

LocalDate,LocalTime,LocalDateTime,Instant,ZonedDateTime等。下面就实战中就常用的功能进行案例测试.代码如下:

案例1

获取当前的系统时间

案例2

获取当前系统时间的年月日的属性信息

案例3

依据年月日参数,自定义一个日期

到这里,看明白没有,新的体系已经与以前不一样了,没有之前的年需要1970年起始计算,也没有了月份的从0开始计数,现在该是多少就还是多少,是不是很兴奋!

案例4

判断两个日期是否相等

新增的Api中,新出现了YearMonth和MonthDay两个类,可以判断年月和月日两个属性的值,这样就很方便对于特殊信息的比较,如银行卡的过期时间(yyyy/mm),结婚纪念日(mm/dd)。

案例5

不同日期的年月比较

案例6

两个年费的月日比较

日期研究结束,研究时间相关api。

案例7

获取当前时间

案例8

2小时后的时间怎么获得

案例9

在日期上也可以进行加减

下面的案例解决是两个日期之间的比较计算问题。

案例10

判断两个日期哪个在前,哪个在后

案例11

计算两个日期之间相差的月份或者年份

日期和字符串之间的转换是我们常见问题,必须有案例。

案例12

日期和字符串之间的转换

好了,有关jdk8的日期处理还有很多很多,比如时区等操作,由于篇幅有限,这次就分享到这里了,小伙伴们,有时间峰哥下次继续跟大家分享。

java 判断当前时间是否为节假日_浅谈Java8日期时间处理相关推荐

  1. java中的强制类型转换注意事项_浅谈Java中强制类型转换的问题

    为了更好的理解我们先看下面的例子: package com.yonyou.test; import java.util.ArrayList; import java.util.Iterator; im ...

  2. java里什么是三目表达式_浅谈Java三目运算

    三目条件运算公式为 x?y:z  其中x的运算结果为boolean类型,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值 例:String s=" ...

  3. java枚举后面括号是什么意思_浅谈java枚举类

    >>> 学习交流群 < < < 一.什么情况下使用枚举类? 有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便? 二.为什么不用静态常量来代替枚 ...

  4. ddmmyy日期格式是多少_解锁9个日期时间计算套路,效率提高3.2%

    小伙伴们好啊,今天老祝和大家学习一组日期时间计算的套路,让工作效率再高一点点. 1.日期时间合并 如下图,需要将A列日期和B列的时间合并到一起,变成既有日期又带有时间的数据. C2公式为: =A2+B ...

  5. Java8日期时间API,Java高级多线程面试

    plusNanos(int offset):增加指定纳秒 减少相关的方法 minusYears(int offset):减少指定年 minusMonths(int offset):减少指定月 minu ...

  6. python判断两个对象是否为相等使用的运算符是_Python入门_浅谈逻辑判断与运算符...

    这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...

  7. java 复杂网络分析_基于复杂网络的Java程序分析工具设计与实现思路浅谈

    基于复杂网络的Java程序分析工具设计与 实现思路浅谈 摘要:近年来,随着科学技术的进步,计算机技术发展速度的加快,使得软件价值也逐步提高,不管是软件系统的应用领域,还是其规模均获得了相应的扩大,且软 ...

  8. java双层list扁平化,浅谈java8 stream flatMap流的扁平化操作

    概念: Steam 是Java8 提出的一个新概念,不是输入输出的 Stream 流,而是一种用函数式编程方式在集合类上进行复杂操作的工具.简而言之,是以内部迭代的方式处理集合数据的操作,内部迭代可以 ...

  9. python中的date的含义_浅谈python中的dateime

    原文链接:http://www.cnblogs.com/lhj588/archive/2012/04/23/2466653.html Python提供了多个内置模块用于操作日期时间,像calendar ...

最新文章

  1. Linux 与win双系统时间不统一的解决方法
  2. 云供应商安全评估:小心落入陷阱
  3. 之一:CABasicAnimation - 基本动画
  4. poj-1284(Primitive Roots)(欧拉函数运用)
  5. IIS 7 php 7.0 部署WE MALL
  6. JAVA反射机制及其原理实现
  7. Maven常见警告解决办法
  8. Heartbeat(v1、v2、pacemaker)集群组件概述
  9. Bootstrap采样方法的python实现
  10. 作业车间调度问题特征与调度效率相关性的研究Correlation of job-shop scheduling problem features with scheduling efficiency
  11. JAVA羽毛球篮球运动场地预约管理系统毕业设计 开题报告
  12. ByteBuf浅层复制的使用
  13. 微信公众平台与微信公众平台的区别与联系
  14. 关于MVVM的面试问题
  15. C++学习第六天——数组
  16. 流行音乐网站 /音乐网站
  17. 正则表达式在线生成工具
  18. 学会这些思维模型,窥见查理·芒格的致胜秘笈(二)
  19. python+xlrd做数字组合
  20. 云师大计算机调剂,云南师范大学2020考研调剂信息(二)

热门文章

  1. java返回链表的中间结点_876. 链表的中间结点
  2. oracle 二进制日志格式,二进制日志
  3. arm汇编指令WFI和WFE
  4. 链式向前星(一个优秀的存储图的数据结构)
  5. STM32F405 标准库 SHT20温湿度传感器
  6. 解决django运行中连接mysql数据库超时报错pymysql.err.InterfaceError
  7. numpy保存/读取pickle
  8. 解决Mac装上Jetbrain系列软件(Pycharm/Idea)破解包无效导致软件启动报错
  9. 解决scrapy不执行Request回调函数callback
  10. cesium入门示例-3dTiles加载