如果你的系统处于12小时模式,你不必编写一个子类来获得你想要的。该JavaDocs说:
- 在12小时模式:
- 使用)由getFormat12Hour(返回的值时,非空
- 否则,使用由getFormat24Hour返回的值()时,非空
- 否则,使用诸如HH适合于用户的语言环境的默认值,:毫米
因此,我希望在这最后一行,使getFormat12Hour()
回报null
,因此使用自定义getFormat24Hour()
格式:
<android.widget.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"
android:format12Hour="@null" />
(顺便说一句,正如其他人所提到的,强制的格式应小心使用。如果您的用户需要24小时制,他们会在他们的系统偏好中指定此项。而且在其用户上强制使用数字格式的颠覆性日期格式(如MM/dd/yyyy
)的应用会邀请一星评级(本例中来自美国和菲律宾用户除外),因此您使用MMM
是件好事!你仍然可以使用getBestDateTimePattern(),尽管如此,我相信这将需要继承TextClock。)
我如何改变它添加日期? – littledevils326 2013-03-12 20:52:51
我不确定你对“日期”的理解,但是如果你的意思是日,月,年,那么你是不是已经包含在你的MMM dd,yyyy k:mm格式中? – saschoar 2013-03-13 13:42:12