LocalDate和Date

三世轮回 提交于 2019-12-19 12:41:07

从java8之后,java添加了一些新特效,其中比较常用的便是日期处理类——LocalDate。
java.time.LocalDate -> 只对年月日做出处理
java.time.LocalTime -> 只对时分秒纳秒做出处理
java.time.LocalDateTime -> 同时可以处理年月日和时分秒

java.util.Date和SimpleDateFormatter都不是线程安全的,而LocalDate和LocalTime和最基本的String一样,是不变类型,不单线程安全,而且不能修改。
java.util.Date月份是从0开始,一月是0,十二月是11。java.time.LocalDate月份和星期都改成了enum,就不可能再用错了。
java.util.Date是一个“万能接口”,它包含日期,时间,还有毫秒数,如果你只需日期或者时间那么有一些数据就没啥用,在新的java8中,日期和时间被明确划分为LocalDate和LocalTime,LocalDate无法包含时间,LocalTime无法包含日期,当然,LocalDateTime才能同时包含时间和日期。
java.util.Date推算时间(比如往前推几天/往后推几天/推算某年某月第一天等等)要结合Calender要写好多代码,相当麻烦,LocaDate只需要使用对应的方法即可。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!