Android:根据设备的当前时间格式更改时间格式

时间:2012-01-12 11:39:02

标签: android time android-widget

如何获取Android设备的当前时间格式?即如果Android设备的当前时间格式从12小时更改为24小时格式,反之亦然,那么如何以编程方式检查该设置?

我想将应用小部件中显示的时间更改为与设备格式相同的格式,并且每当更改时间格式时,我的小部件也应显示该时间格式。任何指针都会有所帮助。

感谢。

4 个答案:

答案 0 :(得分:17)

您可以使用TIME_12_24

int time_format = 0;
try {
    time_format = Settings.System.getInt(getContentResolver(), Settings.System.TIME_12_24);
} catch (SettingNotFoundException e) {
    e.printStackTrace();
}
Log.i(TAG,"Time format: "+time_format);
根据设置,

time_format 12 24

确保您已将此权限添加到最明显的文件中。

<user-permission android:name="android.permission.WRITE_SETTINGS" />

编辑:
您也可以使用DateFormat.is24HourFormat()。它不需要额外的许可。

答案 1 :(得分:1)

检查,http://developer.android.com/reference/android/text/format/DateFormat.html

DateFormat::getDateFormat()

Date date = new Date(location.getTime());
dateFormat.format(date);

答案 2 :(得分:1)

简单的方法是使用android native android.text.format.DateFormat class is24HourFormat(this)静态方法,如下所示。

if (android.text.format.DateFormat.is24HourFormat(YourActivityName.this)) {
          // 24 hour format
}
else
{
    // 12 hour format
}

答案 3 :(得分:0)