- - PR -
java日付フォーマット
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-02-13 00:54
はじめまして。
以下の件、ご教授ください。 文字列で「2007-02-13 00:00:00」 という日付を「2007/02/13」のフォーマットにしたいのですが、 やはり文字の置換等の地道なコーディングしかないのでしょうか? すっきりできるテクニックをご教授ください。 | ||||||||
|
投稿日時: 2007-02-13 02:02
適当な検索エンジンで、「java simpledateformat」で検索をかけてみましょう。
| ||||||||
|
投稿日時: 2007-02-13 12:47
JDK1.5以降を使える場合は、sprintfも選択肢に入ると思いますよ。
| ||||||||
|
投稿日時: 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を設定するのが正しいと思うけど。 | ||||||||
|
投稿日時: 2007-02-13 19:08
この決まったパターンだけ対応すれば良いのであれば「文字の置換等の地道なコーディング」も視野にいれてもいいかもしれません。
"2007-02-13 00:00:00".split(" ")[0].replaceAll("-","/") | ||||||||
|
投稿日時: 2007-02-13 20:06
そういった方向を勧めるのはあまりよくないと思うのですが・・・。 もちろん出来ないわけでもないので正解のひとつですけど。 | ||||||||
|
投稿日時: 2007-02-14 09:46
すでに正統な方法(SimpleDateFormat)を示している回答があるので、いろいろな方法を知ってもらうのは問題ないと思います。 おそらく、スレ主さんの「地道なコーディング」と言うのはもっと泥臭いコーディングをイメージしていたと思うけど、この程度の文字列変換なら1行でできることを知るだけでも有用な情報だと思います。 # あと、文字列から文字列への形式変換だけならDate型を通すのはちょっと冗長とも言えるし...。
それならむしろ。正規表現メソッドなしでもできる。 "2007-02-13 00:00:00".substring(0,10).replace('-', '/') # あまり応用利かないけど・・・。 |
1