Dateクラスで現在日時を取得する
Dateクラスとは
現在日時の取得ができます。
new演算子で初期化できます。
Dateクラスの使い方
new演算子で初期化できます。
コンストラクタによって現在日時(年月日、曜日、時間)で初期化します。
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()
メソッドを使います。
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演算子で初期化できます。
コンストラクタによって現在日時(年月日、曜日、時間)で初期化します。
コンストラクタの引数(年,月,日)を指定することで指定した値で初期化できます。
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型の変数に設定すれば変換できます。
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型へ変換することができます。
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型に変換することができます。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
メソッドで取得した現在日時を指定し、変換します。
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);
}
}