Java 日付文字列をDate型へ変換

Chat&Messenger チャットもメッセンジャーも!! Chat&Messenger チャットもメッセンジャーも!!
LAN上でチャットとメッセンジャーが簡単に利用できるフリーソフトChat&Messengerを紹介します。IP Messenger互換。付箋紙にも対応。

Java 日付文字列をDate型へ変換

Java 日付文字列java.util.Date 型で取得

Java で日付文字列 (フォーマット yyyy/MM/dd ) を java.util.Date 型へ変換するサンプルプログラムです。

サンプルプログラム

/**
 * 日付文字列"yyyy/MM/dd"をjava.util.Date型へ変換します。
 * @param str 変換対象の文字列
 * @return 変換後のjava.util.Dateオブジェクト
 * @throws ParseException 日付文字列が"yyyy/MM/dd"以外の場合 
 */
public static Date toDate(String str) throws ParseException {
    Date  date = DateFormat.getDateInstance().parse(str);
    return date;
}

実行結果

◆実行例
public static void main(String[] args) {
    try {
        // 通常のパターン
        Date date  = toDate("2007/01/01");
        System.out.println(date);

        // フォーマトが違うパターン
        date  = toDate("2007-01-01");
        System.out.println(date);
    } catch (ParseException e) {
        e.printStackTrace();
    }
}
◆出力結果
2007/01/01='Mon Jan 01 00:00:00 JST 2007'
yyyy/MM/ddの日付文字列は正しく変換されたようですが、yyyy-MM-ddではどうでしょうか。
java.text.ParseException: Unparseable date: "2007-01-01"
    at java.text.DateFormat.parse(DateFormat.java:335)
    at Main.toDate(DateUtil.java:627)
    at Main.main(DateUtil.java:639)
yyyy-MM-ddではParseExceptionが発生してしまいました。

DateFormatのサブクラスのjava.text.SimpleDateFormatを使用し以下のように記述すると変換できるのですが、
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.parse("2007-01-01");  
もっと汎用的なプログラムが欲しいですよね。
次はあらゆる日付文字列を可能な限り、java.util.Date型へ変換する方法をご紹介します。
「あらゆる日付・時刻文字列をDate、Calendar型へ変換」
更新履歴 - 更新履歴 2008
ダウンロード - ダウンロード
Thanks Links・リンク集 - Thanks Links
その他 - 今後の開発予定
Thanks Links・リンク集 - おすすめフリーソフトまとめ
その他 - よくある質問
使い方 - 使い方、使用方法
使い方 - ソフト内の名称
使い方 - 起動及び初期設定方法
使い方 - メッセンジャー機能
使い方 - メッセージペインの各種アイコン説明
使い方 - チャット機能
使い方 - ログファイル参照
使い方 - ファイルやフォルダの送信・受信
使い方 - アプリケーションの環境設定
使い方 - ソート設定と優先順位設定
使い方 - メッセージの保管
使い方 - キャプチャ機能
使い方 - 付箋機能
使い方 - フォント設定
使い方 - configフォルダ及び各種設定ファイルについて
インストール・バージョンアップ - バージョンアップ方法
Java 特集 - Java ログフィルタでHTTPを解析
Java 特集 - Java タスクトレイのアイコンを表示・点滅
その他 - 掲示板・アンケート
インストール・バージョンアップ - バージョンアップとリリースポリシー
インストール・バージョンアップ - JREのインストール方法
Java 特集 - Java リフレクション が簡単に
その他 - 確認されている問題
IP Messenger 互換について - IP Messenger 互換について
更新履歴 - 更新履歴 2007
IE7で閉じる(window.close)と強制終了の対策 - IE7で閉じる(window.close)と強制終了の対策
インストール・バージョンアップ - インストール方法
IE7で画面が真っ白の対策 - IE7で画面が真っ白の対策
Java 日付・時刻 - Java 日付の妥当性・存在チェック
Java 日付・時刻 - Java 月末日付を取得する
Java 日付・時刻 - Java 現在(今日)の曜日を求める
Java 日付・時刻 - Java 日付文字列をDate型へ変換
Java 日付・時刻 - あらゆる日付・時刻文字列をDate、Calendar型へ変換
インストール・バージョンアップ - アンインストール方法
インストール・バージョンアップ - ソフトに個別のJREを適用させる方法
Java ネットワーク - 実行しているマシンのホスト名を取得
その他 - iP ! (アイピー) 2008年 04月号に掲載
Java ネットワーク - IPアドレスからホスト名を取得
Java Swing - Java システムアイコンを抽出
Java Swing - Java クリップボードへコピー
Java ファイル・I/O - Java ディレクトリ内のファイル一覧を表示
Java ファイル・I/O - Java 再帰的にファイルを検索
Java ファイル・I/O - Java XMLEncoderでオブジェクトを保存
Java システム系 - Java 外部コマンドを実行し3つの結果を取得
Java システム系 - Java システムプロパティを見やすく出力
Java システム系 - Java メモリー使用量を取得
Java 文字列 - Java LPAD、RPADで整形
更新履歴 - 更新履歴 2006
Java 文字列 - Java 文字列内のURLをリンクに変換
Java 文字列 - Java ファイル名から拡張子を取り除く
Java 文字列 - Java ファイル名から拡張子を取得
その他 - Vistaでのスクリーンショット
その他 - プロフィール
Thanks Links・リンク集 - 相互リンク募集
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する