jdk8-----LocalDateTime源码解析(上)

jdk8—–LocalDateTime源码解析(上)


本文根据王爵大神的知乎专栏《跟上java8》进行编写,在此进行致敬。
使用工具为idea,过段时间会出一个idea如何查看源码的文档。
jdk8引入了time包,以用来进行改变date时间的缺陷,如线程不安全。LocalDate类用来生成日期,LocalTime用来生成时间,当然time包也可以对格式化,时区和特殊的日历:日本历、泰国的佛历。当然也有很好的api,在日常开发的时候,经常会用到两个时间的比较,isBefore和isAfter.


类图

LocalDateTime.png-18.9kB

LocalDateTime是个不可变的日期时间对象,这只是一个没有时区的的日期对象,同时他指标是年-月-日-小时-分钟-秒,可以精确到纳秒级,我们现在的时间日历为ISO-8601标准日历,同时支持闰年,实现了ChronLocalDateTime实现了时间比较的api**注意**:请不要使用==进行比较,要使用equal进行比较。(不知道翻译是否正确)


属性

 //支持最低的时间 '-999999999-01-01T00:00:00
 public static final LocalDateTime MIN = LocalDateTime.of(LocalDate.MIN, LocalTime.MIN);
 //支持最大的时间:+999999999-12-31T23:59:59.999999999
 public static final LocalDateTime MAX = LocalDateTime.of(LocalDate.MAX, LocalTime.MAX);
 private static final long serialVersionUID = 6207766400415563566L;
 private final LocalDate date;
 private final LocalTime time;

方法

//从默认时区的系统时钟获取当前日期时间,这里默认的时区是jvm默认的时区,如果用户自定义了时区就会使用自定义的,否则会使用
static LocalDateTime now()
//从指定时区的系统时钟获取当前日期时间,使用clock中ZoneId(时区id)
static LocalDateTime now(ZoneId zone)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值