Java中的日期类(附示例)
Date 类表示特定的时间瞬间,精度为毫秒。 Java.util 包的 Date 类实现了 Serializable、Cloneable 和 Comparable 接口。它提供了使用Java处理日期和时间的构造函数和方法。
构造函数
- Date() :创建表示当前日期和时间的日期对象。
- Date(long milliseconds) :为自 1970 年 1 月 1 日 00:00:00 GMT 以来的给定毫秒创建一个日期对象。
- 日期(整数年,整数月,整数日期)
- 日期(整数年,整数月,整数日期,整数小时,整数分钟)
- 日期(整数年,整数月,整数日期,整数小时,整数分钟,整数秒)
- 日期(字符串 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() :返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
- 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