如何获取Android设备的当前时间格式?即,如果Android设备的当前时间格式从12小时改变为24小时格式,反之亦然,那么如何以编程方式检查该设置?Android:根据设备的当前时间格式更改时间格式
我想将我的应用程序小部件中显示的时间更改为与设备的格式相同,并且每当时间格式发生变化时,我的小部件也应该显示时间格式。任何指针都会有帮助。
谢谢。
如何获取Android设备的当前时间格式?即,如果Android设备的当前时间格式从12小时改变为24小时格式,反之亦然,那么如何以编程方式检查该设置?Android:根据设备的当前时间格式更改时间格式
我想将我的应用程序小部件中显示的时间更改为与设备的格式相同,并且每当时间格式发生变化时,我的小部件也应该显示时间格式。任何指针都会有帮助。
谢谢。
您可以使用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
将基于设置有或。
确保您已将此权限添加到最常见的文件。
<user-permission android:name="android.permission.WRITE_SETTINGS" />
编辑:
您还可以使用DateFormat.is24HourFormat()。它不需要额外的许可。
检查,http://developer.android.com/reference/android/text/format/DateFormat.html
DateFormat::getDateFormat()
Date date = new Date(location.getTime());
dateFormat.format(date);
简单的方法是使用android的原生android.text.format.DateFormat
类的is24HourFormat(this)
静态方法如下。
if (android.text.format.DateFormat.is24HourFormat(YourActivityName.this)) {
// 24 hour format
}
else
{
// 12 hour format
}