2013年5月11日土曜日

SimpleDateFormat ではなく android.text.format.DateFormat を使おう

SimpleDateFormat のパターン文字列だけをとるコンストラクタを使うと、Locale 指定しろよって Lint さんに怒られます。

android で用意されている DateFormat を使いましょう。

SimpleDateFormat と違って、format() に Calendar インスタンスを渡すことができます(Date インスタンスや inTimeInMillis(long)を渡すこともできます)。
Time Pattern Syntax は SimpleDateFormat とほぼ同じですが H の代わりに k を使うなど違いもあります。 String text = DateFormat.format("yyyy/MM/dd, E, kk:mm:ss", Calendar.getInstance()); textView.setText(text); DateFormat を使うと、デバイスのロケールに応じた表示になります。日本語環境であっても曜日を英語で表示したい場合は SimpleDateFormat を使います。 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd, E, HH:mm:ss", Locale.ENGLISH); String text = sdf.format(Calendar.getInstance().getTime()); textView.setText(text);

0 件のコメント:

コメントを投稿