2012-01-12 108 views
6

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

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

谢谢。

回答

16

您可以使用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()。它不需要额外的许可。

1

简单的方法是使用android的原生android.text.format.DateFormat类的is24HourFormat(this)静态方法如下。

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