Java
 Computer >> コンピューター >  >> プログラミング >> Java

【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パッケージ」の利用が推奨されています。DateTimeFormatterLocalDateTime.parse()などを組み合わせれば、同じような変換をより安全かつ直感的に実装できます。既存のレガシーコードとの互換性が必要なケースを除き、新規開発ではjava.timeの採用を検討するとよいでしょう。

  1. 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

  2. 【Java入門】SimpleDateFormatクラスでDate型を任意の形式の文字列に変換する方法

    JavaのSimpleDateFormatクラスは、Dateオブジェクトを指定したパターンの文字列(String)に変換したり、その逆に文字列からDateへ変換したりするために使用されるクラスです。日付の表示形式を自由にカスタマイズできるため、実務でも非常によく利用されます。SimpleDateFormatの基本的な使い方以下のサンプルコードでは、今日の日付を取得し、「yyyy-MM-dd-hh.mm.ss」というパターンで文字列に変換してコンソールに出力しています。サンプルコードimport java.util.Date; import java.text.SimpleDateFormat;