疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

浅谈Java基础之Date类


 

   

  Date类表示特定的瞬间,精确到毫秒。

  有2种方法可以创建Date对象(这里不考虑已过时的构造函数)

  1、public Date()——分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。

  1 @Test

  2 public void test1() {

  3 Date date = new Date();

  4 System.out.println(date);

  5 }

  Sun Oct 23 22:39:14 CST 2016

  2、public Date(long date)——根据给定的毫秒值创建日期对象。

  复制代码

  1 @Test

  2 public void test2() {

  3 long time = System.currentTimeMillis();

  4 Date date = new Date(time);

  5 System.out.println(date);

  6 }

  复制代码

  Sun Oct 23 22:41:42 CST 2016

  介绍完了Date的构造函数后,接下来来看看日期与毫秒值的相互转换

  1、public long getTime()——日期转毫秒值

  通过getTime方法可以将一个日期类型转换为long类型的毫秒值

  1 @Test

  2 public void test3() {

  3 Date date = new Date();

  4 System.out.println(date.getTime());

  5 }

  1477234414353

  2、public void setTime(long time)——毫秒值转日期

  复制代码

  1 @Test

  2 public void test4() {

  3 long time = System.currentTimeMillis();

  4 Date date = new Date();

  5 date.setTime(time);

  6 System.out.println(date);

  7 }

  复制代码

  Sun Oct 23 22:53:05 CST 2016

  当然也可以通过构造函数public Date(long date)将毫秒值转为日期类型。

  通常我们会比较2个日期的大小,Date类提供以下方法用来比较2个日期的相关操作

  1、public boolean before(Date when)——测试此日期是否在指定日期之前,当且仅当此Date对象表示的瞬间比when表示的瞬间早,才返回true;否则返回false。

  复制代码

  1 @Test

  2 public void test5() {

  3 Date date1 = new Date(1000);

  4 Date date2 = new Date(2000);

  5 System.out.println(date1.before(date2));

  6 }

  复制代码

  true

  2、public boolean after(Date when)——测试此日期是否在指定日期之后,当且仅当此Date对象表示的瞬间比when表示的瞬间晚,才返回true;否则返回false。

  复制代码

  1 @Test

  2 public void test6() {

  3 Date date1 = new Date(1000);

  4 Date date2 = new Date(2000);

  5 System.out.println(date1.after(date2));

  6 }

  复制代码

  false

  3、public int compareTo(Date anotherDate)——比较两个日期的顺序。

  如果参数Date等于此Date,则返回值0;如果此Date在Date参数之前,则返回小于0的值;如果此Date在Date参数之后,则返回大于0的值。

  复制代码

  1 @Test

  2 public void test7() {

  3 Date date1 = new Date(1000);

  4 Date date2 = new Date(2000);

  5 System.out.println(date1.compareTo(date2));

  6 }

  复制代码

  -1