Java で文字列の日付をタイムスタンプに変換する方法

  1. Java の Timestamp コンストラクタを使って文字列の日付をタイムスタンプに変換する
  2. Java で日付文字列を LocalDate でタイムスタンプ Timestamp に変換する
  3. Java の atStartOfDay() メソッドで文字列の日付をタイムスタンプ Timestamp に変換する

このチュートリアルでは、Java で文字列の日付をタイムスタンプに変換する方法を紹介します。

文字列 Date をタイムスタンプにに変換するには、Timestamp コンストラクタや Java 8 の LocalDate クラスを使うなど、いくつかの方法があります。

Java の Timestamp コンストラクタを使って文字列の日付をタイムスタンプに変換する

ここでは、Timestamp コンストラクタを用いて Timestamp オブジェクトを取得する。まず、SimpleDateFormat クラスを用いて date のフォーマットを設定し、parser() メソッドを用いて日付オブジェクトを取得した後、geteTime() メソッドを用いて日付に時間を加え、結果として timestamp を取得します。以下の例を参照してください。

import java.util.Date;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class SimpleTesting {

	public static void main(String[] args) {
		try {
		      DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
		      Date date = dateFormat.parse("12/10/1990");
		      Timestamp timeStampDate = new Timestamp(date.getTime());
		      System.out.println(timeStampDate);
		    } catch (ParseException e) {
		      System.out.println(e);
		    }
	}
}

出力:

 1990-10-12 00:00:00.0

Java で日付文字列を LocalDate でタイムスタンプ Timestamp に変換する

Java 8 では、日付と時刻を扱ういくつかのクラスを含む新しい java.time パッケージが追加されます。ここでは、そのパッケージの LocalDate クラスを利用します。LocalDate クラスの parse() メソッドを使って日付文字列から LocalDate オブジェクトを取得し、atTime() メソッドを使って時刻付きの日付を返す LocalDateTime オブジェクトを取得します。現在の時刻を取得するには now() を用います。

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

public class SimpleTesting {

	public static void main(String[] args) {
		      LocalDate date = LocalDate.parse("2025-11-25");
		      System.out.println(date);
		      LocalDateTime dateTime = date.atTime(LocalTime.now());
		      System.out.println(dateTime);
		      
	}
}

出力:

2025-11-25
2025-11-25T09:44:56.814795

Java の atStartOfDay() メソッドで文字列の日付をタイムスタンプ Timestamp に変換する

LocalDate クラスの atStartOfDay() メソッドも LocalDateTime オブジェクトを取得するために利用します。このメソッドは一日の始まりの日付に時間を加え、単純な日付ではなく date-time を返します。以下の例を参照してください。

import java.time.LocalDate;
import java.time.LocalDateTime;

public class SimpleTesting {

	public static void main(String[] args) {
		String strDate = "2019-10-20";
		LocalDate date = LocalDate.parse(strDate);
	    LocalDateTime dateTime = date.atStartOfDay();
	    System.out.println(dateTime);
	}
}

出力:

2019-10-20T00:00

関連記事 - Java Date

  • Java で日付に 1 日を追加する方法
  • Java で日付を文字列に変換する方法
  • 関連記事 - Java String

  • Java で文字列に文字が含まれているかどうかを調べる方法
  • Java で文字列をダブルに変換する方法
  • comments powered by Disqus