Javaで現在の日付と時刻を取得する4つの方法をサンプルコード付きで解説
Javaで現在の日付や時刻を取得する方法はいくつかあります。この記事では、代表的な4つの方法をサンプルコードと実行結果とともにわかりやすく解説します。
1. Dateクラスのコンストラクタを使用する
java.util.Dateクラスの引数なしのコンストラクタは、現在の日付と時刻を表すDateオブジェクトを返します。最も古典的でシンプルな方法です。
サンプルコード
import java.util.Date;
public class CreateDate {
public static void main(String args[]) {
Date date = new Date();
System.out.print(date);
}
}
実行結果
Thu Nov 05 20:04:57 IST 2020
出力される文字列の形式は、実行環境のロケールやタイムゾーン設定によって異なる場合がある点に注意してください。
2. LocalDateTimeクラスのnow()メソッドを使用する
Java 8で導入された日時API(java.timeパッケージ)に含まれるLocalDateTimeクラスのnow()メソッドは、現在の日付と時刻を表すオブジェクトを返します。
サンプルコード
import java.time.LocalDate;
import java.time.LocalDateTime;
public class CreateDateTime {
public static void main(String args[]) {
LocalDateTime date = LocalDateTime.now();
System.out.println("Current Date and Time: "+date);
}
}
実行結果
Current Date and Time: 2020-11-05T21:49:11.507
結果はISO-8601形式(yyyy-MM-ddTHH:mm:ss)で出力されるため、文字列としての可読性が高く、プログラム内での加工もしやすいのが特徴です。
3. CalendarクラスのgetInstance()メソッドを使用する
引数なしのgetInstance()メソッドは、現在の日付と時刻を表すCalendarオブジェクトを返します。さらにgetTime()メソッドを呼び出せば、Date型として取得することも可能です。
サンプルコード
import java.util.Calendar;
import java.util.Date;
public class CreateDateTime {
public static void main(String[] args) {
Calendar obj = Calendar.getInstance();
Date date = obj.getTime();
System.out.println("Current Date and time: "+date);
}
}
実行結果
Current Date and time: Thu Nov 05 21:46:19 IST 2020
4. java.time.Clockクラスを使用する
java.time.Clockクラスを利用することでも、現在の日時を取得できます。systemUTC()メソッドでUTC基準のクロックを取得し、instant()メソッドで現在の瞬間を表すInstantオブジェクトを得られます。
サンプルコード
import java.time.Clock;
public class CreateDateTime {
public static void main(String args[]) {
Clock obj = Clock.systemUTC();
System.out.println("Current date time: "+obj.instant());
}
}
実行結果
Current date time: 2020-11-05T16:33:06.155Z
末尾の「Z」はUTC(協定世界時)を意味しています。テスト時に時刻を差し替えやすい設計ができるため、単体テストとの相性も良い方法です。
まとめ:どの方法を選ぶべきか?
既存のレガシーコードではDateクラスやCalendarクラスが使われていることも少なくありませんが、これらはミュータブル(変更可能)であるため、マルチスレッド環境での安全性に課題があります。Java 8以降の新規開発では、スレッドセーフで直感的に操作できるjava.timeパッケージ(LocalDateTimeなど)の使用が推奨されています。最も手軽なのはLocalDateTime.now()であり、表示形式を整えたい場合はDateTimeFormatterクラスと組み合わせると柔軟に対応できます。
-
【Android開発】アプリで現在の日付と時刻を表示する方法を解説
この記事では、Androidアプリケーションで現在の日付と時刻を取得して画面に表示する方法を、ステップごとにわかりやすく解説します。JavaのDateFormatクラスを使えば、わずか数行のコードで実装できるので、初心者の方でも安心して取り組めます。完成イメージアプリを起動すると、端末の現在日時(例:「2022年3月31日 木曜日 14:39:33」)がTextViewの中央に表示されます。手順1:新規プロジェクトを作成するまず、Android Studioを起動し、メニューから「File」→「New Project」を選択して新しいプロジェクトを作成します。必要な項目をすべて入力してプロジェ
-
【Android開発】現在の日付と時刻を取得して画面に表示する方法を解説
このチュートリアルでは、Androidアプリで現在の日付と時刻を取得し、画面に表示する方法を段階的に解説します。ボタンをタップすると、フォーマットされた日時がTextViewに表示されるシンプルなサンプルアプリを作成します。手順1:新しいプロジェクトを作成するAndroid Studioを開き、メニューから「File」→「New Project」を選択して、必要な情報を入力し、新しいプロジェクトを作成します。テンプレートは「Empty Activity」を選んでおくとスムーズです。手順2:レイアウトファイル(activity_main.xml)を編集するres/layout/activity_