Java Date类
Date类代表一个特定的时间瞬间,精度为毫秒。java.util包中的Date类实现了Serializable、Cloneable和Comparable接口。它提供了构造函数和方法来处理java中的日期和时间。
构造函数
- Date() 。创建代表当前日期和时间的日期对象。
- Date(long milliseconds) 。创建一个自1970年1月1日00:00:00 GMT以来的给定毫秒的日期对象。
- **Date(int year, int month, int date) **
- Date(int year, int month, int date, int hrs, int min)
- Date(int year, int month, int date, int hrs, int min, int sec)
- Date(String s)
注意:Date类的最后4个构造函数已被废弃。
// Java program to demonstrate constuctors of Date
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Date d1 = new Date();
System.out.println("Current date is " + d1);
Date d2 = new Date(2323223232L);
System.out.println("Date represented is "+ d2 );
}
}
输出:
Current date is Tue Jul 12 18:35:37 IST 2016
Date represented is Wed Jan 28 02:50:23 IST 1970
重要方法
- boolean after(Date date): 测试当前日期是否在给定日期之后。
- boolean before(Date date): 测试当前日期是否在给定日期之前。
- int compareTo(Date date) : 将当前日期与给定日期进行比较。如果参数Date等于Date,则返回0;如果Date在Date参数之前,则返回一个小于0的值;如果Date在Date参数之后,则返回一个大于0的值。
- long getTime() : 返回该Date对象所代表的自1970年1月1日,00:00:00 GMT以来的毫秒数。
- void setTime(long time) : 将当前日期和时间改为给定的时间。
// Program to demonstrate methods of Date class
import java.util.*;
public class Main
{
public static void main(String[] args)
{
// Creating date
Date d1 = new Date(2000, 11, 21);
Date d2 = new Date(); // Current date
Date d3 = new Date(2010, 1, 3);
boolean a = d3.after(d1);
System.out.println("Date d3 comes after " +
"date d2: " + a);
boolean b = d3.before(d2);
System.out.println("Date d3 comes before "+
"date d2: " + b);
int c = d1.compareTo(d2);
System.out.println(c);
System.out.println("Miliseconds from Jan 1 "+
"1970 to date d1 is " + d1.getTime());
System.out.println("Before setting "+d2);
d2.setTime(204587433443L);
System.out.println("After setting "+d2);
}
}
输出:
Date d3 comes after date d2: true
Date d3 comes before date d2: false
1
Miliseconds from Jan 1 1970 to date d1 is 60935500800000
Before setting Tue Jul 12 13:13:16 UTC 2016
After setting Fri Jun 25 21:50:33 UTC 1976