Date类的使用

来源:互联网 发布:nginx centos yum 编辑:程序博客网 时间:2024/05/18 17:24

时间和日期处理,在一个应用中都是很重要的,掌握时间和日期类的处理也是很重要的。Java中的Calendar类和Date类,在java.util包下。在JDK1.0中,Date类是唯一处理时间的类,但是由于Date类中方法比较少并且有一些方法不便于实现国际化,所以从JDK1.1版本开始新增了Calendar类,增加了许多功能强大的方法,推荐使用 Calendar类进行时间和日期处理。下面开始总结Date类和Calendar类的一些使用方法

Date类

在Java中有两个Date类,一个是java.sql.Date,另一个是java.util.Date,他们的关系是:前者是后者的子类,主要用在构造SQL语句的时候,比如读写数据库的时候可以使用它,后者是在大多是情况下使用的。他们的用法基本都是一样的。
Date的构造
创建一个Date类的对象,构造方法的参数可以有如下几种:
无参构造方法,使用默认无参构造方法创建出来的对象表示当前系统时间:

Date date = new Date();

long类型的时间,long类型的时间就是自1970年1月1日00:00:00这一刻开始到目前所经历的毫秒数,这个值每时每刻都在变大,Date类可以已它作为构造参数创建一个指定的Date,比如:

Date now = new Date(System.currentTimeMillis());

这样就将当前系统时间封装成了一个Date类型数据,通过这个数据能够得到年月日等信息。
具体的年,月,日。传入具体的年月日的数值(年的数值并不是表示绝对的时间,而是自1900年开始的年份,所以,如果要表示年,应为指定值减去1900,比如要表示2015年,则应填写(2015-1900),月份的数值是从0到11,所以如果想表示3月,月份的数值就应该填2),以构造一个指定日期的Date类型数据,得到一个指定日期0点0分0秒的Date对象:

Date date= new Date(2015-1900, 11, 27);//或者Date date = new Date(115,11,27)

具体到时分秒的构造方法。传入一个具体时间的 值以构造指定时间的Date对象,比如:

Date date1=new Date(2015-1900,11,30,23,59,59);

这样就创建了一个2015年12月30日23时59分59秒的Date对象
所有这些参数都是有取值范围的,就像秒的范围为0-59一样,如果在构造一个Date对象时参数的值超出了取值范围,会默认往后叠加的,比如一个Date对象的构造为:

Date oldDate = new Date(2015-1900, 4, 40);

表面上看,这样得到的是一个2015年5月40日的Date对象,当然,肯定是不存在这个日期的,所以Date类型会自动往后叠加,打印输出为:
2015-06-09 00:00:00

原创粉丝点击