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-基础-常用API(时间日期类,Date,Dateformat,Calendar)