1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Java入門】日付を取得する方法(Date,Calendar,GregorianCalendar)

Last updated at Posted at 2023-09-30

Dateクラスで現在日時を取得する

Dateクラスとは

 現在日時の取得ができます。
 new演算子で初期化できます。

Dateクラスの使い方

 new演算子で初期化できます。
 コンストラクタによって現在日時(年月日、曜日、時間)で初期化します。

Dateクラス
import java.util.Date;

public class Main {
	public static void main(String[] args) {

		// Dateクラスを生成 
		Date date = new Date();

		// 現在の日時を出力 
		System.out.println(date);

	}
}
実行結果
Sat Sep 30 16:41:26 JST 2023

Calendarクラスで現在日時を取得する

Calendarクラスとは

 現在日時の取得に加えて日付の計算、日付の指定ができます。
 抽象クラスであるため、new演算子で初期化ができません。

Calendarクラスの使い方

 Calendar.getInstance()で現在日時のカレンダーを取得します。
 クラスメソッドであり、コンピューターの設定に合わせて適切なカレンダーを取得する機能です。
 また現在日時を出力するには、getTime()メソッドを使います。

Calendarクラス
import java.util.Calendar;

public class Main {
	public static void main(String[] args) {

		// Calendarクラスを生成
		Calendar cl = Calendar.getInstance();

		// 現在の日時を出力
		System.out.println(cl.getTime());

	}
}
実行結果
Sat Sep 30 16:41:26 JST 2023

GregorianCalendarクラスで現在日時を取得する

GregorianCalendarクラスとは

 Calendarを継承しているため、Calendarのメソッドが使えます。グレゴリオ暦でカレンダーを取得します。CalendarクラスのCalendar.getInstance()でカレンダーを取得した時、主にGregorianCalendarクラスが入っています。

GregorianCalendarクラスの使い方

 new演算子で初期化できます。
 コンストラクタによって現在日時(年月日、曜日、時間)で初期化します。
 コンストラクタの引数(年,月,日)を指定することで指定した値で初期化できます。

GregorianCalendarクラス
import java.util.GregorianCalendar;

public class Main {
	public static void main(String[] args) {

		// GregorianCalendarクラスを生成
		GregorianCalendar gc = new GregorianCalendar();

		// 現在の日時を出力
		System.out.println(gc.getTime());


        // 引数を指定して初期化
		GregorianCalendar gc2 = new GregorianCalendar(2019,1,12);
		
		// 指定したカレンダーを出力
		System.out.println(gc2.getTime());

	}
}
実行結果
Sat Sep 30 16:41:26 JST 2023
Tue Feb 12 00:00:00 JST 2019

DateとCalendarの変換方法

CalendarからDateに変換

 Calendar型からDate型へ変換する場合は、Calendar型の変数に対して、getTimeメソッドで現在時刻を取得し、Date型の変数に設定すれば変換できます。

Calender⇒Dateクラス
import java.util.Calendar;
import java.util.Date;

public class Main {
	public static void main(String[] args) {
		
		// DateクラスとCalendarクラスの生成
		Calendar cl = Calendar.getInstance();
		Date date = new Date();
		
		// Calendarクラスの現在日時を代入
		date = cl.getTime();
		System.out.println(date);
	}
}

DateからCalendarに変換

 Date型からCalendar型へ変換する場合は、日時を設定するsetTimeメソッドを使用します。setTime()の引数にDate型の変数を指定すれば、Calendar型へ変換することができます。

Date⇒Calendarクラス
import java.util.Calendar;
import java.util.Date;

public class Main {
	public static void main(String[] args) {
		
		// DateクラスとCalendarクラスの生成
		Date date = new Date();
		Calendar cl = Calendar.getInstance();
		
		// CalendarクラスのsetTimeメソッドでDate型の変数を指定する
		cl.setTime(date);
		System.out.println(cl.getTime());
	}
}

Stringにカレンダークラスを変換

DateからStringへの変換

 Dateの値をStringへ変換する場合は、valueOfメソッドを使用します。
 valueOfメソッドの引数に、Dateの値を指定します。

valueOfメソッドとは  valueOfメソッドは引数に指定したさまざまな型の値を、String型の文字列として返します。 このメソッドはオーバーロードされており、Date型(Object)の他にshort型、int型、long型、float型、double型など引数に指定し、簡単にString型に変換することができます。
Date⇒String型
import java.util.Date;

public class Main {
	public static void main(String[] args) {
		
		// Dateクラスの生成とvalueOfメソッドで変換
		Date date = new Date();
		String str = String.valueOf(date);
		
		
		// 現在日時の出力
		System.out.println(str);
	}
}

CalendarからStringへの変換

 基本的にDateの時と同じです。valueOfメソッドの引数にgetTimeメソッドで取得した現在日時を指定し、変換します。

Calendar⇒String型
import java.util.Calendar;

public class Main {
	public static void main(String[] args) {
		
		// Calendarクラスの生成とvalueOfメソッドで変換
		Calendar cl = Calendar.getInstance();
		String str = String.valueOf(cl.getTime());
		
		// 現在日時の出力
		System.out.println(str);
	}
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?