Java 的日期和时间类位于 java.util 包中。利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间。
1.Date 类
Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个:
Date():使用当前的日期和时间初始化一个对象。
Date(long millisec):从1970年01月01日00时(格林威治时间)开始以毫秒计算时间,计算 millisec 毫秒。如果运行 Java 程序的本地时区是北京时区(与格林威治时间相差 8 小时), Date dt1=new Date(1000);,那么对象 dt1 就是1970年01月01日08时00分01秒。
Date中有好多方法是过时的,但是不耽误使用。只是不推荐使用。
![](https://i-blog.csdnimg.cn/blog_migrate/ad5660a188b89055569f03855560c3d3.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/574cc328360657f24ce2657e5eec80e2.webp?x-image-process=image/format,png)
2.DateFormate和SimpleDateFormat
DateFormat其本身是一个抽象类,不能创建对象,当我们通过DateFormat的 getInstance(), getDateInstance()和getDateTimeInstance() 获取DateFormat实例时;实际上是返回的SimpleDateFormat对象。
DateFormat中返回自身实例的静态方法
![](https://i-blog.csdnimg.cn/blog_migrate/d440533943b8e449d89d1d91e48347d1.webp?x-image-process=image/format,png)
DateFormat 的作用是 :
格式化: Date-->String
![](https://i-blog.csdnimg.cn/blog_migrate/99722e1e2ea5b68fc9da4a2ccc30fbae.webp?x-image-process=image/format,png)
解析: String-->Date
![](https://i-blog.csdnimg.cn/blog_migrate/4b735113cbd2b6ec08b7191c38d3f007.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/62a4498325c69a89c432f0cc77323589.webp?x-image-process=image/format,png)
SimpleDateFormat 类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都使用SimpleDateFormat类完成,有构造器,直接创建对象。
![](https://i-blog.csdnimg.cn/blog_migrate/eab57ee72bfa574c37d6d2cf900997e6.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/3d811ac5a59b83600e3d1e01503b5e23.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/7a085e5ed2a5d4afaf89da82e0295ba6.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/35080b968671d21c6e8a8fe4b0e699c9.webp?x-image-process=image/format,png)
3.Calendar
Calendar类是抽象类不能实例化对象,但是可以使用Calendar类的static方法getInstance(),可以初始化一个日历对象,如:Calendar calendar = Calendar.getInstance();
比Date更强大,但是一般结合使用
Calendar中有许多字段常量,可直接使用get()方法调用。
![](https://i-blog.csdnimg.cn/blog_migrate/bb406b882e9403c39ffe4789bbc045c4.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/e59867302ac67b2f2821e58d1a6789a1.webp?x-image-process=image/format,png)
将Calendar类型--》Date类型
![](https://i-blog.csdnimg.cn/blog_migrate/37675fc59b3ffd7af4f4d40352bcfccb.webp?x-image-process=image/format,png)
将Date类型--》Calendar类型
![](https://i-blog.csdnimg.cn/blog_migrate/b9cdd7b74cfd264be6099f519fd89ac4.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/6e8cd3792d4e130d857f067358a196c8.webp?x-image-process=image/format,png)
Calendar中的方法add()
![](https://i-blog.csdnimg.cn/blog_migrate/a67c91d13a443aaf367af346f9357bed.webp?x-image-process=image/format,png)
![](https://i-blog.csdnimg.cn/blog_migrate/3b9c7a702df768061ca7a6383470adeb.webp?x-image-process=image/format,png)