【Java】3分あれば理解!Dateクラスを使って現在日時を取得する!
Dateクラスを使って現在日時を取得するにはDateクラスをインスタンス化するかcurrentTimeMillis()メソッドを使用します。
「Date」クラスは、日時データを保持するだけのクラスです。
Dateクラスをインスタンス化することで現在の日時がセットされたオブジェクトが作成されます。
また、System.currentTimeMillis()メソッドを使用することで現在日時のミリ秒を取得することができます。
今回はDateクラスを使って以下の場合で現在日時を取得していきます。
・ Dateクラスでシステム日時を取得する場合
・ Dateクラスで現在日時のミリ秒を取得する場合
また、以下の場合で現在日時を取得する方法も紹介します。
・ Calendarクラスで現在日時を取得する場合
・ LocalDatetimeクラスで現在日時を取得する場合
目次
Dateクラスとは
Dateクラスとは日時データを保持するクラスとなります。
Dateクラスには、「java.util.Date」クラスとそのサブクラスの「java.sql.Date」クラスとがありますが、「Date」クラスは「java.util.Date」クラスを指します。
「Date」クラスは、日時データを保持するだけのクラスです。
書式を整えて出力したい場合には、DateFormatクラスを使い、日付の計算を行いたい場合にはCalendarクラスを使います。
Dateクラスの書き方
Dateクラスの構文は下記となります。
1 |
import java.util.Date; |
Dateクラスを使用できるようにインポートします。
そうすることでDateクラスで準備されているメソッドなどが使用できるようになります。
currentTimeMillis()メソッドとは
currentTimeMillis()メソッドは現在日時をミリ秒で取得するメソッドとなります。
currentTimeMillis()メソッドの書き方
currentTimeMillis()メソッドの構文は下記となります。
1 |
long 編数名 = System.currentTimeMillis(); |
System.currentTimeMillis()を呼び出すことで現在日時のミリ秒を取得することができます。
現在日時を取得するサンプルコード
現在日時を取得するサンプルコードを紹介します。
システム日時を取得する場合
システム日時を取得する場合は、Dateクラスのインスタンスを作成することで取得することができます。
例
1 2 3 4 5 6 7 8 9 10 11 |
//現在日時を取得するクラス import java.util.Date; public class Main { public static void main(String[] args) throws Exception { //現在日時を取得する D Date dt = new Date(); System.out.println("Date:" + dt); } } |
出力結果
Date:Fri Aug 21 09:00:53 UTC 2020
現在日時をミリ秒で取得する場合
例
1 2 3 4 5 6 7 8 9 10 11 |
//現在日時を取得する import java.util.Date; public class Main { public static void main(String[] args) throws Exception { //現在日時を取得する D long time = System.currentTimeMillis(); System.out.println("ミリ秒: " + time); } } |
出力結果
ミリ秒: 1598000764140
Calendarクラスで現在日時を取得する場合
Calendarクラスで現在日時を取得する場合は、CalendarクラスのgetInstance()メソッドを使うことで現在の日時を取得することができます。
例
1 2 3 4 5 6 7 8 9 10 |
//現在日時を取得する import java.util.Calendar; public class Main { public static void main(String[] args) { Calendar cld = Calendar.getInstance(); System.out.println(cld.getTime()); } } |
出力結果
Fri Aug 21 09:41:24 UTC 2020
LocalDatetimeクラスで現在日時を取得する場合
LocalDateTimeクラスで現在日時を取得する場合は、LocalDatetimeクラスのインスタンスを生成することで現在の日時を取得することができます。
例
1 2 3 4 5 6 7 8 9 10 |
//現在日時を取得する import java.time.LocalDateTime; public class Main { public static void main(String[] args) { LocalDateTime ldt = LocalDateTime.now(); System.out.println(ldt); } } |
出力結果
2020-08-21T09:45:08.249061
今回のポイント
Dateクラスで現在日時を取得するには2つの方法がある
Dateクラスで現在日時を取得するにはDateクラスのインスタンスを作成するか、System.currentTimeMillis()メソッドを呼び出す方法がある。
デフォルトコンストラクタを使って「Date」インスタンスを作成すると、システム日時を表すインスタンスを作成されます。
また、System.currentTimeMillis()メソッドを呼び出すと、現在日時をlong型で取得することができます。
これは、1970年1月1日午前0時からの経過ミリ秒数であり、プリミティブ型で日付情報を保持するにはこのlong型の値を使用します。
関連記事
Dateクラスについて詳しく知りたい場合はこちらをご参考ください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。