- - 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
