Java基础(38):Calendar类的应用(优于Date类)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础(38):Calendar类的应用(优于Date类)相关的知识,希望对你有一定的参考价值。

Calendar 类的应用

Date 类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calendar 类进行时间和日期的处理。

java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();

那么如何使用 Calendar 获取年、月、日、时间等信息呢?我们来看下面的代码:

技术分享

其中,调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为 Calendar 类中定义的静态常量。

运行结果: 技术分享

Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。如下所示:

技术分享

运行结果:

技术分享

 

例子:

实现获取 Calendar 对象,并转换为指定格式的时间

 

 1 import java.text.SimpleDateFormat;
 2 import java.util.Calendar;
 3 import java.util.Date;
 4 
 5 public class HelloWorld {
 6     
 7     public static void main(String[] args) {
 8         // 创建Canlendar对象
 9         Calendar c = Calendar.getInstance();
10         
11         // 将Calendar对象转换为Date对象
12         Date date = c.getTime();
13         
14         // 创建SimpleDateFormat对象,指定目标格式
15         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
16         
17         // 将日期转换为指定格式的字符串
18         String now = sdf.format(date);
19         System.out.println("当前时间:" + now);
20     }
21 }

 

输出结果:

当前时间:2016-03-31 08:08:33

 

以上是关于Java基础(38):Calendar类的应用(优于Date类)的主要内容,如果未能解决你的问题,请参考以下文章

阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第3节 Calendar类_2_Calendar类的常用成员方法

零基础学Java—Calendar类(三十四)

JAVA-基础-常用API(时间日期类,Date,Dateformat,Calendar)

java中GregorianCalendar类与Calendar类的关系与区别?

Java Calendar 类的时间操作

Java Calendar 类的时间操作