📜  Java中的日期类(附示例)

📅  最后修改于: 2022-05-13 01:55:29.231000             🧑  作者: Mango

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