2011-09-02 18 views
8

24時間のタイムスケールで現在の時刻を取得する際に問題があります。私が知る限り、「HH」は現在の時間を24時間のタイムスケールで表しますが、何らかの理由で「HH」はまったく解釈されません。これは、次のコード行が"HH:50:06 Uhr、02. Sep.現在の時刻と日付を24時間タイムスケールで取得する

DateFormat.format("HH:mm:ss 'Uhr', dd. MMM", new Date()); 

任意のアイデア私が間違っているのでしょうか?しかし、 "hh"を使うと、12時間尺度で出力されます。これは私がやりたいことではありません。

ヘルプありがとうございました!

+0

チェック:http://developer.android.com/reference/android/text/format/DateFormat.html#HOUR_OF_DAY私はそれを願っていますが手伝う! –

答えて

18

あなたはそれをあなたが好きなようにフォーマットするSimpleDateFormatを使用することができ、これは動作します。また

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 
String str = sdf.format(new Date()); 

Android version of docs

+0

ありがとう、魅力的なように働いた。 – Tim

1

これを試してみてください:

 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 
     String s = sdf.format(new Date()); 
7

HHは24時間形式で、一日の時間の書式指定子である(0-23; 0のオフセットで)あなたはフォーマットするためのSimpleDateFormatクラスを利用する場合にのみ日付。

この表記を使用していないformat method of the android.text.format.DateFormat classクラスを使用しています。代わりに、記号k/kkを使用して、24時間形式で時間を表示します。 したがって、あなたの日付形式の文字列は次のように指定する必要があります。ここ

DateFormat.format("kk:mm:ss 'Uhr', dd. MMM", new Date()); 
+0

これを詳しく説明してくれてありがとう。 – Tim

+0

http://developer.android.com/reference/android/text/format/DateFormat.htmlのJavadocが「フォーマット文字列の標準的なドキュメントについては、SimpleDateFormatを参照してください」と述べているので、これは残念です。 –

+0

@ RobertTupelo-Schneck、はい、正規のドキュメントは、独自の書式文字列を指定したときに、クラスのファクトリメソッドを使用する場合にのみ適用され、他のファクトリメソッドは使用しない場合は、当てはまりません。 –

関連する問題