2013年8月21日水曜日

【Android】日時の取得でミリ秒までとりたい時【メモ】

積極的にメモをとろうキャンペーン実施中(超個人的)

【本題】Androidで自分の好きなフォーマットで日時を取得しようとした
ちなみにこんなフォーマット→「時:分:秒.ミリ秒」

【問題発生】以下のようなコードにした時
String date = DateFormat.format("kk:mm:ss.SSS", Calendar.getInstance()).toString();
結果が「09:30:25.SSS」(←例)のようにと取れてしまった… =ミリ秒部分がとれない 【解決策】コードを以下のように修正
SimpleDateFormat DF = new SimpleDateFormat("HH:mm:ss.SSS", Locale.JAPAN);
String date = DF.format(new Date());
DateFormatクラスとSimpleDateFormatクラスとで 扱えるフォーマットが結構違うのでしょうか? Locale 指定うんたらが面倒そうなのでDateFormatクラスの方を使いたかったのですが… 今回はLocale.JAPANで固定.うーんわからん. (気になる記事→「Locale.getDefault()が期待した値を返さない?」) 参考サイト様:Y.A.M の 雑記帳 様 SimpleDateFormatではなくandroid.text.format.DateFormatを使おう 等

0 件のコメント:

コメントを投稿