java.time.LocalDate全面代替老旧的Date,Calendar类
标准 Java 类库分别包含了两个类:一个是用来表示时间点的 Date 类;另一个是用来表示大家熟悉的日历表示法的 LocalDate 类。
Date 类的实例有一个状态,即特定的时间点。
这个点就是所谓的纪元( epoch), 它是UTC时间1970年1月1日00:00:00。
Java 8之前,Date类就以其糟糕的设计,被人吐槽。后来的Calendar依旧烂,甚至烂出了新境界,不屑一提。
LocalDate类创建
不要使用构造器来构造 LocalDate 类的对象。实际上,应当使用静态工厂方法 (factory method) 代表你调用构造器。下面的表达式
Local Date.now()
会构造一个新对象,表示构造这个对象时的日期
- 构造一个特定日期的对象
![7a45b84e99f4c473506865f0ecd7262c.png](https://i-blog.csdnimg.cn/blog_migrate/9ed5f117c8eaf83cd9af545ba41c4ddc.jpeg)
- 得到特定日期Local对象的年、月和日
![9c26b24274d120b6f1fba7cfa48a100f.png](https://i-blog.csdnimg.cn/blog_migrate/ef2e789bd1444fee35e4bc62a58a02ae.jpeg)
LocalDate的一些时间基本操作
![7f5245801b2d9f0a959f47a9f9ab92cb.png](https://i-blog.csdnimg.cn/blog_migrate/c0a84f8953c2b64e68659dbdbb792de1.jpeg)
有时可能某个日期是计算得到的,你就需要调用plusDays或minusDays方法会得到一个新的 LocalDate例如:
![5b06708e571c8d7e998583ff836192aa.png](https://i-blog.csdnimg.cn/blog_migrate/c7d1c2df19da5dfd686de68b1b45fec9.jpeg)
你会看到打印的结果为2020-1-1
![b678906d5dddb9be8b42fad673b1d320.png](https://i-blog.csdnimg.cn/blog_migrate/d92fdb704bd7a74b59aaa03fac973be9.jpeg)