こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

javaのCalendar型を日付型に変換したい

Calendar型の変数をフォーマット付き("yyyy/MM/dd hh:ss")に変換したいのですが上手い方法が見つかりませんでした。
初心者でも無いのですが、変換の方法があったらご教示願います。

よろしくお願いします。

投稿日時 - 2011-04-13 18:38:35

QNo.6665890

困ってます

質問者が選んだベストアンサー

日付型はよくわかりませんが、
日付型=文字列と仮定して。

// 現在時刻を取得します。
Calendar cal=Calendar.getInstance();

// MessageFormatオブジェクトを作成(書式を設定)
MessageFormat mf = new MessageFormat("{0,date,yyyy/MM/dd HH:mm:ss}");

// CalendarオブジェクトからDate型で取り出し、Object配列として作成
Object[] objs = {Calendar.getInstance().getTime()};

// MessageFormatに、Objectを処理させる
// resultには、YYYY/MM/DD HH:MM:SS にフォーマットされた文字が代入されます。
String result = mf.format(objs);

投稿日時 - 2011-04-13 18:54:47

お礼

こちらも大変参考になりました。

ありがとうございました。

投稿日時 - 2011-04-13 19:26:40

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

そういう場合は、フォーマット用のクラスを使います。java.textパッケージにあるもので、日付用にはDateFormatという抽象クラスと、これの実装であるSimpleDateFormatというのがあり、これを利用するのが一般的でしょう。ざっとこんな感じになると思います。(検証してません)詳細は、SimpleDateFormatクラスを調べてください。

Calendar calendar = Calendar.getInstance();
DateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm");
String s = format.format(calendar.getTime());

投稿日時 - 2011-04-13 18:55:46

お礼

ありがとうございました。
おかげ様で解決いたしました。

投稿日時 - 2011-04-13 19:26:09

あなたにオススメの質問