2011-09-02 55 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,是的,只有在您使用類的工廠方法時,規範文檔才適用,而在您提供自己的格式字符串時不適用於其他類。 –