java.util包提供了Date类来封装当前的日期和时间。 Date类提供两个构造函数来实例化Date对象。
第一个构造函数使用当前日期和时间来初始化对象。
Date( )
第二个构造函数接收一个参数,该参数是从1970年1月1日起的微秒数。
Date(long millisec)
Date对象创建以后,可以调用下面的方法。
序号 | 方法和描述 |
---|---|
1 | boolean after(Date date)若当调用此方法的Date对象在指定日期之后返回true,否则返回false。 |
2 | boolean before(Date date)若当调用此方法的Date对象在指定日期之前返回true,否则返回false。 |
3 | Object clone( )返回此对象的副本。 |
4 | int compareTo(Date date)比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。 |
5 | int compareTo(Object obj)若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。 |
6 | boolean equals(Object date)当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。 |
7 | long getTime( )返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 |
8 | int hashCode( ) 返回此对象的哈希码值。 |
9 | void setTime(long time) 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。 |
10 | String toString( )转换Date对象为String表示形式,并返回该字符串。 |
获取当前日期时间
Java中获取当前日期和时间很简单,使用Date对象的 toString()方法来打印当前日期和时间,如下所示:
import java.util.Date;
public class DateDemo {
public static void main(String args[]) {
// 初始化 Date 对象
Date date = new Date();
// 使用 toString() 函数显示日期时间
System.out.println(date.toString());
}
}
编译运行结果如下
Fri Mar 13 11:18:05 CST 2020
日期比较
Java使用以下三种方法来比较两个日期:
1.使用getTime( ) 方法获取两个日期(自1970年1月1日经历的微秒数值),然后比较这两个值。
2.使用方法before(),after()和equals()。例如,一个月的12号比18号早,则new Date(99, 2, 12).before(new Date (99, 2, 18))返回true。
3.使用compareTo()方法,它是由Comparable接口定义的,Date类实现了这个接口。
使用SimpleDateFormat格式化日期(常用)
SimpleDateFormat是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat允许你选择任何用户自定义日期时间格式来运行。例如:
import java.util.*;
import java.text.*;
public class DateDemo {
public static void main(String args[]) {
Date dNow = new Date( );
//创建一个格式化时使用的对象ft
SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
//通过对象ft调用他的方法实现对dnow的格式化
System.out.println("Current Date: " + ft.format(dNow));
}
}
使用printf格式化日期
printf方法可以很轻松地格式化时间和日期。使用两个字母格式,它以t开头并且以下面表格中的一个字母结尾。例如:
import java.util.Date;
public class DateDemo {
public static void main(String args[]) {
// 初始化 Date 对象
Date date = new Date();
// 使用toString()显示日期和时间
String str = String.format("Current Date/Time : %tc", date );
System.out.printf(str);
}
}
效果:
Current Date/Time : 周五 3月 13 12:10:11 CST 2020