- PR -

java日付フォーマット

1
投稿者投稿内容
天ぷら
会議室デビュー日: 2007/02/13
投稿数: 5
お住まい・勤務地: 横浜
投稿日時: 2007-02-13 00:54
はじめまして。
以下の件、ご教授ください。

文字列で「2007-02-13 00:00:00」
という日付を「2007/02/13」のフォーマットにしたいのですが、
やはり文字の置換等の地道なコーディングしかないのでしょうか?

すっきりできるテクニックをご教授ください。
さいくろう
大ベテラン
会議室デビュー日: 2005/11/19
投稿数: 170
お住まい・勤務地: 川崎市
投稿日時: 2007-02-13 02:02
適当な検索エンジンで、「java simpledateformat」で検索をかけてみましょう。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-02-13 12:47
JDK1.5以降を使える場合は、sprintfも選択肢に入ると思いますよ。
だっちょ
大ベテラン
会議室デビュー日: 2006/12/05
投稿数: 115
投稿日時: 2007-02-13 18:49
UTCとかあまり気にしなければ
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sf.parse("2007-02-13 00:00:00");
SimpleDateFormat sf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
sf.format(d);
でもいいかな。本当はTimeZoneを設定するのが正しいと思うけど。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-02-13 19:08
この決まったパターンだけ対応すれば良いのであれば「文字の置換等の地道なコーディング」も視野にいれてもいいかもしれません。

"2007-02-13 00:00:00".split(" ")[0].replaceAll("-","/")
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2007-02-13 20:06
引用:

インギさんの書き込み (2007-02-13 19:08) より:
この決まったパターンだけ対応すれば良いのであれば「文字の置換等の地道なコーディング」も視野にいれてもいいかもしれません。



そういった方向を勧めるのはあまりよくないと思うのですが・・・。
もちろん出来ないわけでもないので正解のひとつですけど。
sawat
大ベテラン
会議室デビュー日: 2006/08/02
投稿数: 112
投稿日時: 2007-02-14 09:46
引用:

あしゅさんの書き込み (2007-02-13 20:06) より:
そういった方向を勧めるのはあまりよくないと思うのですが・・・。
もちろん出来ないわけでもないので正解のひとつですけど。


すでに正統な方法(SimpleDateFormat)を示している回答があるので、いろいろな方法を知ってもらうのは問題ないと思います。
おそらく、スレ主さんの「地道なコーディング」と言うのはもっと泥臭いコーディングをイメージしていたと思うけど、この程度の文字列変換なら1行でできることを知るだけでも有用な情報だと思います。
# あと、文字列から文字列への形式変換だけならDate型を通すのはちょっと冗長とも言えるし...。

引用:

インギさんの書き込み (2007-02-13 19:08) より:
"2007-02-13 00:00:00".split(" ")[0].replaceAll("-","/")



それならむしろ。正規表現メソッドなしでもできる。

"2007-02-13 00:00:00".substring(0,10).replace('-', '/')
# あまり応用利かないけど・・・。
1

スキルアップ/キャリアアップ(JOB@IT)