Javaで現在の日付・時刻をミリ秒で取得する方法を徹底解説
Javaで現在の日時をミリ秒で取得したい場面は多くあります。ミリ秒で表される時刻は「エポック時間」と呼ばれ、1970年1月1日00:00:00 GMTからの経過ミリ秒数を意味します。この記事では、Javaで現在時刻をミリ秒で取得できる代表的な方法を、コード例とともにわかりやすく解説します。
1. DateクラスのgetTime()メソッド
java.util.DateクラスのgetTime()メソッドは、エポック時間(1970年1月1日00:00:00 GMT)からの経過時間をミリ秒単位で取得し、long型の値として返します。
サンプルコード
import java.util.Date;
public class Sample {
public static void main(String args[]){
// Dateクラスのインスタンスを生成
Date date = new Date();
long msec = date.getTime();
System.out.println("Milli Seconds: "+msec);
}
}
実行結果
Milli Seconds: 1605160094688
2. CalendarクラスのgetTimeInMillis()メソッド
java.util.CalendarクラスのgetTimeInMillis()メソッドも、エポック時間からの経過ミリ秒数を取得して返します。Calendar.getInstance()でカレンダーオブジェクトを取得し、そのメソッドを呼び出します。
サンプルコード
import java.util.Calendar;
public class Sample {
public static void main(String args[]){
// Calendarオブジェクトを生成
Calendar cal = Calendar.getInstance();
long msec = cal.getTimeInMillis();
System.out.println("Milli Seconds: "+msec);
}
}
実行結果
Milli Seconds: 1605160934357
3. InstantクラスのtoEpochMilli()メソッド
Java 8以降で導入された新日時API(Date-Time API)では、java.time.InstantクラスのtoEpochMilli()メソッドを使ってエポックからの経過ミリ秒を取得できます。ここでは、ZonedDateTimeオブジェクトをInstantに変換してから呼び出しています。
サンプルコード
import java.time.Instant;
import java.time.ZonedDateTime;
public class Sample {
public static void main(String args[]){
// ZonedDateTimeオブジェクトを生成
ZonedDateTime obj = ZonedDateTime.now();
Instant instant = obj.toInstant();
long msec = instant.toEpochMilli();
System.out.println("Milli Seconds: "+msec);
}
}
実行結果
Milli Seconds: 1605162474464
補足:System.currentTimeMillis()が最も手軽
オブジェクトを生成せずに、単純に現在時刻のミリ秒だけが必要な場合は、System.currentTimeMillis()を使うのが最もシンプルで効率的です。
public class Sample {
public static void main(String args[]){
long msec = System.currentTimeMillis();
System.out.println("Milli Seconds: "+msec);
}
}
まとめ
Javaで現在の日時をミリ秒で取得するには、Date#getTime()、Calendar#getTimeInMillis()、Instant#toEpochMilli()、そしてSystem.currentTimeMillis()といった複数の方法があります。新規開発ではスレッドセーフで直感的に扱えるDate-Time API(Instant)の利用が推奨され、単純にタイムスタンプが欲しいだけであればSystem.currentTimeMillis()が便利です。一方、レガシーコードの保守などでは、従来のDateやCalendarも依然として広く使われています。用途に応じて適切な方法を選択しましょう。
-
Swiftで現在の日付と時刻を取得する方法(UTC・ローカル時刻対応)
日付や時刻の処理は、プログラミング初心者がつまずきやすいポイントのひとつです。ほとんどのアプリでは現在の日付を取得する必要があり、予約管理、ログ記録、期限チェックなど、多くの機能がこの情報に依存しています。 本記事では、Swiftを使ってiOSアプリで現在の日付と時刻を取得する基本的な方法を解説します。具体的には、UTC(協定世界時)の時刻と、デバイスのタイムゾーンに基づく現地時刻の2パターンを紹介します。 UTC(協定世界時)の現在時刻を取得する UTCの時刻を取得したい場合は、Playgroundに以下のコードを貼り付けて実行してください。わずか2行で完了します。 let utcDate
-
Androidで現在の日時を取得する方法【SimpleDateFormatの使い方を解説】
はじめに Oracle公式ドキュメントによると、SimpleDateFormatはロケールに依存した形で日付のフォーマット(表示)と解析(パース)を行うための具象クラスです。本記事では、このクラスを使ってAndroidアプリ内で現在の日付と時刻を取得し、画面に表示する方法を解説します。 まず、以下のようにJavaのSimpleDateFormatクラスとDateクラスをインポートします。 import java.text.SimpleDateFormat; import java.util.Date; 実装手順 ステップ1:新規プロジェクトの作成 Android Studioを起動し、「Fil