如何获取Android设备的当前时间格式?即如果Android设备的当前时间格式从12小时更改为24小时格式,反之亦然,那么如何以编程方式检查该设置?
我想将应用小部件中显示的时间更改为与设备格式相同的格式,并且每当更改时间格式时,我的小部件也应显示该时间格式。任何指针都会有所帮助。
感谢。
答案 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)