Java的java.util.Date

时间:2020-01-09 10:35:56  来源:igfitidea点击:

Java的java.util.Date类是Java最早的日期类之一。今天,不推荐使用该类中的大多数方法,而推荐使用java.util.Calendar类。不过,我们仍然可以使用java.util.Date类来表示日期。

这是如何实例化java.util.Date实例的方法:

java.util.Date date = new java.util.Date();

这个"日期"实例包含当前时间作为其日期和时间。

我们可以使用getTime()方法访问java.util.Date实例中包含的日期和时间,如下所示:

java.util.Date date = new java.util.Date();

long time = date.getTime();

我们还可以从毫秒中创建一个java.util.Date,如下所示:

long now = System.currentTimeMillis();

java.util.Date date = new java.util.Date(now);

比较日期

我们可以比较java.util.Date实例,因为该类实现了java.lang.Comparable接口。方法如下:

java.util.Date date1 = new java.util.Date();
java.util.Date date2 = new java.util.Date();

int comparison = date1.compareTo(date2);

比较遵循"可比较"接口的规则,这意味着" compareTo()"方法返回:

  • 如果调用该方法的日期晚于作为参数给出的日期,则大于0的int。
  • 如果日期相等,则int值为0。
  • 如果调用该方法的日期早于作为参数给出的日期,则int值小于0。

java.util.Date也有两个比较方法。这是before()after()方法。这是两个如何使用它们的示例:

java.util.Date date1 = new java.util.Date();
java.util.Date date2 = new java.util.Date();

boolean isBefore = date1.before(date2);
boolean isAfter  = date1.after (date2);

获取年,月,日,小时等

不建议使用获取年,月,日,小时等的方法。显然,内部使用的算法并不完全正确。

如果我们需要获取或者设置年,月,日等,请改用java.util.Calendar