OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:606
区分:プログラム  |  分類:Java  |  最終更新日:2014/08/26
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【Java】文字列を日時に変換する
関連タグ:Java, java.util.Date, java.text.DateFormat, java.text.SimpleDateFormat, Exception
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 66,188
Java関連技術まとめ > 【Java】文字列を日時に変換する

Java で指定の文字列を日時に変換するには、DateFormat クラスまたは SimpleDateFormat クラスの parse メソッドを使用します。

 

DateFormatクラスを使って変換する

DateFormat クラスを使って変換する場合は、getDateInstance で Date オブジェクトを生成する際の parse メソッドに変換したい文字列を指定することで文字列を日付データに変換します。ただし、このメソッドで有効な日付フォーマットは「yyyy/MM/dd」のみになります。それ以外の形式、例えば「yyyy-MM-dd」といった文字列を渡した場合、文字列は日付フォーマットとは認識されず、ParseException が発生します。

 

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

public class sample1 {
    public static void main (String[] args) {

        try {
            Date date = toDate("2014/01/02");
            System.out.println(date.toString());
        } catch (ParseException e) {
            System.out.println(e);
        }
    }

    public static Date toDate(String str) throws ParseException {
        Date date = DateFormat.getDateInstance().parse(str);
    return date;
    }
}

SimpleDateFormatクラスを使って変換する

SimpleDateFormat クラスを使って変換する場合は、まず SimpleDateFormat オブジェクトを生成する際に任意のフォーマットを指定し、生成したオブジェクトの parse メソッドに文字列を指定することで、文字列を日付データに変換します。この方法の場合は、日付フォーマットを指定できるので、より汎用性の高いプログラムを作成することができますが、DateFormat クラスのparse メソッド同様、日付に変換できない文字列を指定した場合は、ParseException が発生します。

 

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class sample2 {
    public static void main (String[] args) {

        try {
            Date date = toDate("2014-01-02", "yyyy-MM-dd");
            System.out.println(date.toString());
        } catch (ParseException e) {
            System.out.println(e);
        }
    }

    public static Date toDate(String str, String format) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        Date date = sdf.parse(str);
        return date;
    }
}

 

関連記事
外部リンク
- 記事検索 -