Java >> Java チュートリアル >  >> Java

例による Java 日付

この Java コア チュートリアルでは、さまざまな Java サンプル プログラムで java.util.Date クラスを使用する方法を学習します。

目次

<オール>
  • 現在の時刻から Date オブジェクトを作成
  • ミリ秒から Date オブジェクトを作成
  • 日付オブジェクトを複製する方法
  • 日付をミリ秒に変換
  • ミリ秒を日付に変換
  • 文字列を日付オブジェクトに変換
  • 日付オブジェクトを文字列に変換
  • 指定された日付より前の日付かどうかを確認します
  • 指定された日付より後の日付かどうかを確認します
  • 2 つの Date オブジェクトを比較して等しいか
  • 注文のために 2 つの Date オブジェクトを比較する
  • インスタンスを日付に変換
  • 日付をインスタンスに変換
  • Calendar を Date オブジェクトに変換
  • 現在時刻から Date オブジェクトを作成

    Java は、次の Java コードのように現在の時刻を持つ新しい Date オブジェクトを作成するために使用できる Date のデフォルト コンストラクタを提供します。

    DateExample1.java

    import java.util.Date;
    
    public class DateExample1 {
        public static void main(String... args) {
            Date date = new Date();
    
            System.out.println(date);
        }
    }
    以下のような出力。
    Wed Apr 13 23:31:14 ICT 2022

    ミリ秒から Date オブジェクトを作成

    Java では、以下のように、1970 年 1 月 1 日 00:00:00 GMT から指定されたミリ秒値で新しい Date オブジェクトを作成することもできます。

    DateExample2.java

    import java.util.Date;
    
    public class DateExample2 {
        public static void main(String... args) {
            long milliseconds = 1600000000000L;
    
            Date date = new Date(milliseconds);
    
            System.out.println(milliseconds);
            System.out.println(date);
        }
    }
    出力は次のとおりです。
    1600000000000
    Sun Sep 13 19:26:40 ICT 2020

    日付オブジェクトを複製する方法

    Java では、次の Java サンプル プログラムのように、Date.clone() メソッドを使用して Date オブジェクトのコピーを取得できます。

    DateExample3.java

    import java.util.Date;
    
    public class DateExample3 {
        public static void main(String... args) {
            Date date1 = new Date();
    
            Date date2 = (Date)date1.clone();
    
            System.out.println(date1);
            System.out.println(date2);
        }
    }
    以下のような出力。
    Wed Apr 13 23:40:46 ICT 2022
    Wed Apr 13 23:40:46 ICT 2022

    日付をミリ秒に変換

    1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数を返す Date.getTime() メソッド。以下のように、Date オブジェクトをミリ秒値に変換するために使用できます。

    DateExample4.java

    import java.util.Date;
    
    public class DateExample4 {
        public static void main(String... args) {
            Date date = new Date();
    
            long milliseconds = date.getTime();
    
            System.out.println(date);
            System.out.println(milliseconds);
        }
    }
    以下のような出力。
    Wed Apr 13 23:44:14 ICT 2022
    1649868254970

    ミリ秒を日付に変換

    Java では、Date.setTime() メソッドを使用して、1970 年 1 月 1 日 00:00:00 GMT 以降の時間を表すミリ秒を Date オブジェクトに次の Java コードとして設定できます。

    DateExample5.java

    import java.util.Date;
    
    public class DateExample5 {
        public static void main(String... args) {
            long milliseconds = 1549800000000L;
    
            Date date = new Date();
            date.setTime(milliseconds);
    
            System.out.println(milliseconds);
            System.out.println(date);
        }
    }
    以下のような出力。
    1549800000000
    Sun Feb 10 19:00:00 ICT 2019

    文字列を日付オブジェクトに変換

    Java で String 値を Date オブジェクトに変換するには、指定された日時フォーマット文字列である java.text.SimpleDateFormat クラスを使用し、SimpleDateFormat.parse() メソッドを使用して、以下のように指定された日付文字列から Date オブジェクトを取得します。

    DateExample7.java

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateExample7 {
        public static void main(String... args) throws ParseException {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    
            Date date1 = simpleDateFormat.parse("2022/04/10 08:00:00");
            Date date2 = simpleDateFormat.parse("2022/04/30 20:45:00");
    
            System.out.println(date1);
            System.out.println(date2);
        }
    }
    出力は次のとおりです。
    Sun Apr 10 08:00:00 ICT 2022
    Sat Apr 30 20:45:00 ICT 2022

    日付オブジェクトを文字列に変換

    Java で Date オブジェクトを String に変換するには、特定の日時フォーマット文字列である java.text.SimpleDateFormat クラスを使用し、SimpleDateFormat.format() メソッドを使用して、次の Java コードのように指定された Date オブジェクトから String を取得します。

    DateExample8.java

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateExample8 {
        public static void main(String... args) throws ParseException {
            Date date = new Date();
    
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            String dateString = simpleDateFormat.format(date);
    
            System.out.println(dateString);
        }
    }
    出力は次のとおりです。
    2022/04/14 00:01:22

    または、以下のように Date.toString() メソッドを使用してください。

    DateExample12.java

    import java.util.Date;
    
    public class DateExample12 {
        public static void main(String... args) {
            Date date = new Date();
    
            String dateString = date.toString();
    
            System.out.println(dateString);
        }
    }
    出力は次のとおりです。
    Thu Apr 14 00:13:36 ICT 2022

    日付が指定された日付より前かどうかを確認する

    Java は Date.before() メソッドを提供して、Date オブジェクトが指定された Date オブジェクトの前にあるかどうかを確認します。 Date.before() メソッドの使用方法を示す次の Java プログラム。

    DateExample6.java

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateExample6 {
        public static void main(String... args) throws ParseException {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            Date date1 = simpleDateFormat.parse("2022/04/10 08:00:00");
            Date date2 = simpleDateFormat.parse("2022/04/11 08:00:00");
    
            boolean result1 = date1.before(date2);
            boolean result2 = date2.before(date1);
    
            System.out.println("Date 1: " + date1);
            System.out.println("Date 2: " + date2);
            System.out.println("Date 1 before Date 2: " + result1);
            System.out.println("Date 2 before Date 1: " + result2);
        }
    }
    出力は次のとおりです。
    Date 1: Sun Apr 10 08:00:00 ICT 2022
    Date 2: Mon Apr 11 08:00:00 ICT 2022
    Date 1 before Date 2: true
    Date 2 before Date 1: false

    日付が指定された日付より後のかどうかを確認する

    Java は Date.after() メソッドを提供して、Date オブジェクトが指定された Date オブジェクトより後かどうかをチェックします。 Date.after() メソッドの使用方法を示す次の Java プログラム。

    DateExample9.java

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateExample9 {
        public static void main(String... args) throws ParseException {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            Date date1 = simpleDateFormat.parse("2021/03/05 07:00:00");
            Date date2 = simpleDateFormat.parse("2022/04/11 07:00:00");
    
            boolean result1 = date1.after(date2);
            boolean result2 = date2.after(date1);
    
            System.out.println("Date 1: " + date1);
            System.out.println("Date 2: " + date2);
            System.out.println("Date 1 after Date 2: " + result1);
            System.out.println("Date 2 after Date 1: " + result2);
        }
    }
    出力は次のとおりです。
    Date 1: Fri Mar 05 07:00:00 ICT 2021
    Date 2: Mon Apr 11 07:00:00 ICT 2022
    Date 1 after Date 2: false
    Date 2 after Date 1: true

    2 つの Date オブジェクトが等しいかどうかを比較する

    Java では、Date.equals() メソッドを使用して、次の Java サンプル コードのように 2 つの Date オブジェクトが等しいかどうかを比較できます。

    DateExample10.java

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateExample10 {
        public static void main(String... args) throws ParseException {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            Date date1 = simpleDateFormat.parse("2022/04/11 07:00:00");
            Date date2 = simpleDateFormat.parse("2022/04/11 07:00:00");
            Date date3 = simpleDateFormat.parse("2022/04/11 08:00:00");
    
            boolean result1 = date1.equals(date2);
            boolean result2 = date1.equals(date3);
    
            System.out.println("Date 1: " + date1);
            System.out.println("Date 2: " + date2);
            System.out.println("Date 3: " + date3);
            System.out.println("Date 1 equal Date 2: " + result1);
            System.out.println("Date 1 equal Date 3: " + result2);
        }
    }
    出力は次のとおりです。
    Date 1: Mon Apr 11 07:00:00 ICT 2022
    Date 2: Mon Apr 11 07:00:00 ICT 2022
    Date 3: Mon Apr 11 08:00:00 ICT 2022
    Date 1 equal Date 2: true
    Date 1 equal Date 3: false

    注文のために 2 つの Date オブジェクトを比較する

    Java では、Date.compareTo() メソッドを使用して、Date オブジェクトが比較対象の Date オブジェクトの前、等しい、または後の場合に、-1、0、または 1 の値を返すことができます。

    次の Java プログラムは、Date.compareTo() メソッドを使用して、順序付けのために 2 つの Date オブジェクトを比較する方法を示しています。

    DateExample11.java

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateExample11 {
        public static void main(String... args) throws ParseException {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            Date date1 = simpleDateFormat.parse("2022/04/11 07:00:00");
            Date date2 = simpleDateFormat.parse("2022/04/11 07:00:00");
            Date date3 = simpleDateFormat.parse("2022/04/11 08:00:00");
    
            int result1 = date1.compareTo(date2);
            int result2 = date1.compareTo(date3);
            int result3 = date3.compareTo(date1);
    
            System.out.println("Date 1: " + date1);
            System.out.println("Date 2: " + date2);
            System.out.println("Date 3: " + date3);
            System.out.println("Date 1 compare to Date 2: " + result1);
            System.out.println("Date 1 compare to Date 3: " + result2);
            System.out.println("Date 3 compare to Date 1: " + result3);
        }
    }
    以下のような出力。
    Date 1: Mon Apr 11 07:00:00 ICT 2022
    Date 2: Mon Apr 11 07:00:00 ICT 2022
    Date 3: Mon Apr 11 08:00:00 ICT 2022
    Date 1 compare to Date 2: 0
    Date 1 compare to Date 3: -1
    Date 3 compare to Date 1: 1

    インスタンスを日付に変換

    Java は、特定の Instance オブジェクトから新しい Date オブジェクトを作成するために使用できる静的メソッド Date.from() を提供します。次の Java プログラムは、Date.from() メソッドを使用してインスタンス オブジェクトを日付オブジェクトに変換する方法を示しています。

    DateExample13.java

    import java.time.Instant;
    import java.util.Date;
    
    public class DateExample13 {
        public static void main(String... args) {
            Instant instant = Instant.now();
    
            Date date = Date.from(instant);
    
            System.out.println("Instant: " + instant);
            System.out.println("Date: " + date);
        }
    }
    出力は次のとおりです。
    Instant: 2022-04-13T17:21:09.901Z
    Date: Thu Apr 14 00:21:09 ICT 2022

    日付をインスタンスに変換

    Java では、Date.toInstant() メソッドを使用して、以下の Java コードとして Date オブジェクトを Instance オブジェクトに変換できます。

    DateExample14.java

    import java.time.Instant;
    import java.util.Date;
    
    public class DateExample14 {
        public static void main(String... args) {
            Date date = new Date();
    
            Instant instant = date.toInstant();
    
            System.out.println("Date: " + date);
            System.out.println("Instant: " + instant);
        }
    }
    出力は次のとおりです。
    Date: Thu Apr 14 00:21:40 ICT 2022
    Instant: 2022-04-13T17:21:40.733Z

    カレンダーを日付オブジェクトに変換

    Calendar オブジェクトを Date オブジェクトに変換するには、Calendar.getTime() メソッドを次の Java プログラムとして使用できます。

    DateExample15.java

    import java.util.Calendar;
    import java.util.Date;
    
    public class DateExample15 {
        public static void main(String... args) {
            Calendar calendar = Calendar.getInstance();
    
            Date date = calendar.getTime();
            System.out.println(date);
        }
    }
    以下のような出力。
    Thu Apr 14 00:24:35 ICT 2022


    Java タグ