12

24時間形式で表示する時間を取得するのに問題があります。別のタイムゾーンで時刻を表示するようにしていますが、24時間形式で表示することができません。

<TextClock
    android:id="@+id/hk_time"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:timeZone="GMT+0800"
    android:format24Hour="MMM dd, yyyy k:mm" />

また、TextClockを使用して日付を表示することはできますか?

4

6 に答える 6

3

xml で時刻形式を設定する代わりに、Java ファイルで使用することをお勧めします。

mTextClock.setFormat24Hour(format); 
于 2015-03-03T09:44:54.427 に答える
1

時刻を 12 時間形式で表示するか 24 時間形式で表示するかは、システム設定によって異なります。Android デバイスまたはエミュレーターが 12 時間形式に設定されている可能性があります。それがあなたandroid:format24Hourが無視される理由です。システム設定を上書きして 24 時間制を表示したい場合 (これはお勧めしません)、android:format12Hour="MMM dd, yyyy k:mm"別の属性として追加します。

ただし、システム設定に従って時刻と日付を表示することを常にお勧めします。is12HourModeEnabled()12 時間制または24 時間制モードを個別に処理する必要がある他の制約 (レイアウトなど) がアプリにある場合はis24HourModeEnabled()TextClock.

あなたの2番目の質問に対して、ドキュメントは言う

TextClock は、現在の日付や時刻をフォーマットされた文字列として表示できます。

それが可能なことです-時間日付を表示します。「現在とは別の日付」を意味する場合は、シンプルに固執しTextView、日付文字列を手動でフォーマットする必要があります。

于 2013-03-12T18:30:17.910 に答える
0

最初の質問:

今確認したところ、お使いのデバイスで次のように設定されています。

  • 12 時間形式 (米国、英国) - TextClock は 12 時間です
  • 24 時間形式 (ヨーロッパ) - TextClock は 24 時間です

前述のように、ユーザーに選択肢を与え、ex の使用を強制しない方がよいでしょう。お気に入りのフォーマット。

2 番目の質問:

はい、そうです。「android:format12Hour」および/または「android:format24Hour」を使用するだけです。

android:format12Hour="MMM dd, yyyy"
android:format24Hour="MMM dd, yyyy"

MMMは月の名前の 3 文字を意味します

ddは 1 日 2 文字を意味します

yyyyは年を表す 4 文字を意味します

于 2016-06-16T16:37:38.493 に答える