【Java】日付と時刻


Javaについて、復習しながら更新していきます。
今回のテーマは日付と時刻!!

日付/時刻API

日付と時刻を扱う場合、現在(JavaSE8以降)では、日付/時刻API(Date and Time API)を使用することが推奨されています。



[提供パッケージ]
java.time.* :日付と時刻を提供する主なパッケージ 
java.time.temporal.* :日付と時刻に対して追加操作等を提供するパッケージ
java.time.format.* :日付と時刻の書式フォーマットを操作するパッケージ


[主なクラス]
クラス名説明
LocalDateタイムゾーンを持たない日付。
LocalTimeタイムゾーンを持たない時刻。
LocalDateTimeタイムゾーンを持たない日付と時刻。
ZonedDateTimeタイムゾーンを持つ日付と時刻。
ZoneIdタイムゾーンを特定するID。



[例]
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;

class Exe
{
	public static void main(String[] args)
	{
		//2020-05-05
		System.out.println(LocalDate.now());
		//13:59:59.779
		System.out.println(LocalTime.now());
		//2020-05-05T13:59:59.779
		System.out.println(LocalDateTime.now());
		//2020-05-05T13:59:59.779+09:00[Asia/Tokyo]
		System.out.println(ZonedDateTime.now());
		//Asia/Tokyo
		System.out.println(ZoneId.systemDefault());
	}
}



[指定の日付の生成]
メソッド名戻り値説明
of(int year, int month, int dayOfMonth)LocalDate年、月、日から日付のオブジェクトを生成する。
of(int hour, int minutes, int seconds)Localtime時、分、秒から日付のオブジェクトを生成する。
of(int year, int month, int dayOfMonth,int hour, int minutes, int seconds)LocalDateTime年、月、日、時、分、秒から日付のオブジェクトを生成する。


[例]
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

class Exe
{
	public static void main(String[] args)
	{
		//LocalDateのof()
		//2016-02-24
		LocalDate d = LocalDate.of(2020, 05, 05);
		System.out.println(d);

		//LocalTimeのof()
		//03:15
		LocalTime lt1 = LocalTime.of(3, 15);
		System.out.println(lt1);
		//03:15:30
		LocalTime lt2 = LocalTime.of(3, 15, 30);
		System.out.println(lt2);
		//03:15:30.000000200
		LocalTime lt3 = LocalTime.of(3, 15, 30, 200);
		System.out.println(lt3);

		//LocalDateTimeのof()
		//2020-05-03T14:15
		LocalDateTime ldt1 = LocalDateTime.of(2020, 5, 03, 14, 15);
		System.out.println(ldt1);
		//2020-05-03T14:15:30
		LocalDateTime ldt2 = LocalDateTime.of(2020, 5, 03, 14, 15, 30);
		System.out.println(ldt2);
		//2020-05-03T14:15:30.000000200
		LocalDateTime ldt3 = LocalDateTime.of(2020, 5, 03, 14, 15, 30, 200);
		System.out.println(ldt3);

		LocalDateTime ldt = LocalDateTime.of(d, lt1);
		//2020-05-03T14:15
		System.out.println(ldt);
	}
}



[日付フォーマット]
メソッド名戻り値説明
ofPattern(String pattern)DateTimeFormatter指定したパターンでフォーマットを作成する。


[例]
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

class Exe
{
	public static void main(String[] args)
	{
		//フォーマットの作成
		DateTimeFormatter fmt = DateTimeFormatter.ofPattern("YYYY年MM月dd日 HH時mm分ss秒");
		LocalDateTime date = LocalDateTime.now();
		System.out.println(date.format(fmt));
	}
}




以上。



【ブログを始めるなら】

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA