2012-01-12 12 views
6

¿Cómo obtener el formato de hora actual del dispositivo Android? es decir, si el formato de hora actual del dispositivo Android cambia de formato de 12 horas a 24 horas y viceversa, ¿cómo comprobar esa configuración de forma programática?Android: Cambiando el formato de hora según el formato de hora actual del dispositivo

Quiero cambiar la hora que se muestra en el widget de mi aplicación para que sea del mismo formato que el del dispositivo y cada vez que se cambie el formato de hora, mi widget también debe mostrar ese formato de hora. Cualquier puntero será útil.

gracias.

Respuesta

16

Puede usar 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 tendrá 12 o 24 función de la configuración.

Asegúrese de haber agregado este permiso al archivo manifiest.

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

EDIT:
También puede utilizar DateFormat.is24HourFormat(). No requiere un permiso adicional.

1

La manera simple sería usar para usar el método estático de la clase nativo de Android is24HourFormat(this) como sigue.

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