【Java入門】文字列をDate型に変換する方法をわかりやすく解説
はじめに
Javaでは、SimpleDateFormatクラスを使うことで、文字列形式の日付データをDateオブジェクトへ簡単に変換できます。本記事では、具体的なサンプルコードとともに、その基本の手順をわかりやすく解説します。
変換元の文字列を用意する
まず、以下のように日付を表す文字列を用意します。
String date1 = "11/10/2018"; String date2 = "15-Mar-2019 21:11:35";
文字列から日付への変換手順
SimpleDateFormatのコンストラクタには、元の文字列の書式に対応したパターンを指定します。その後、parse()メソッドを呼び出すことで、文字列がDate型へと変換されます。
SimpleDateFormat dateFormat1 = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
Date formattedDate1 = dateFormat1.parse(date1);
Date formattedDate2 = dateFormat2.parse(date2);主なパターン文字の意味
- dd:日(2桁)
- MM:月(2桁の数値)
- MMM:月の省略名(例:Mar)
- yyyy:年(4桁)
- HH:時(24時間制)
- mm:分
- ss:秒
サンプルプログラム
以下は、Javaで文字列を日付に変換する完全なサンプルプログラムです。
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo {
public static void main(String[] args) throws Exception {
String date1 = "11/10/2018";
String date2 = "15-Mar-2019 21:11:35";
SimpleDateFormat dateFormat1 = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss");
Date formattedDate1 = dateFormat1.parse(date1);
Date formattedDate2 = dateFormat2.parse(date2);
System.out.println(formattedDate1);
System.out.println(formattedDate2);
}
}実行結果
Thu Oct 11 00:00:00 UTC 2018 Fri Mar 15 21:11:35 UTC 2019
補足:Java 8以降のおすすめの方法
なお、Java 8以降では、スレッドセーフで扱いやすい新しい日時API「java.timeパッケージ」の利用が推奨されています。DateTimeFormatterとLocalDateTime.parse()などを組み合わせれば、同じような変換をより安全かつ直感的に実装できます。既存のレガシーコードとの互換性が必要なケースを除き、新規開発ではjava.timeの採用を検討するとよいでしょう。
-
JavaでCLOB型を文字列(String)に変換する方法をわかりやすく解説
CLOB(Character Large Object)は、SQLの組み込みデータ型の一つで、大量のテキストデータを格納するために使用されます。このデータ型を利用すると、最大2,147,483,647文字までのデータを保存することが可能です。 JDBC APIのjava.sql.Clobインターフェースが、このCLOBデータ型を表現します。なお、JDBCにおけるClobオブジェクトはSQLロケーター(locator)を使って実装されているため、実際のデータそのものではなく、SQL CLOBへの論理ポインターを保持している点に注意してください。 MySQLデータベースでは、TINYTEXT、T
-
【Java入門】SimpleDateFormatクラスでDate型を任意の形式の文字列に変換する方法
JavaのSimpleDateFormatクラスは、Dateオブジェクトを指定したパターンの文字列(String)に変換したり、その逆に文字列からDateへ変換したりするために使用されるクラスです。日付の表示形式を自由にカスタマイズできるため、実務でも非常によく利用されます。SimpleDateFormatの基本的な使い方以下のサンプルコードでは、今日の日付を取得し、「yyyy-MM-dd-hh.mm.ss」というパターンで文字列に変換してコンソールに出力しています。サンプルコードimport java.util.Date; import java.text.SimpleDateFormat;