2012-01-12 3 views
6

Cách nhận định dạng thời gian hiện tại của thiết bị Android? tức là nếu định dạng thời gian hiện tại của thiết bị Android được thay đổi từ định dạng 12 giờ đến 24 giờ và ngược lại, thì làm cách nào để kiểm tra cài đặt đó theo chương trình?Android: Thay đổi định dạng thời gian theo định dạng thời gian hiện tại của Thiết bị

Tôi muốn thay đổi thời gian được hiển thị trong tiện ích ứng dụng có cùng định dạng với thiết bị và bất cứ khi nào định dạng thời gian thay đổi thì tiện ích của tôi cũng sẽ hiển thị định dạng thời gian đó. Mọi con trỏ sẽ hữu ích.

cảm ơn.

Trả lời

16

Bạn có thể sử dụng 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 sẽ có hoặc dựa trên các thiết lập.

Đảm bảo bạn đã thêm quyền này vào tệp manifiest.

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

EDIT:
Bạn cũng có thể sử dụng DateFormat.is24HourFormat(). Nó không yêu cầu sự cho phép thêm.

1

Cách đơn giản sẽ được sử dụng để sử dụng phương thức tĩnh is24HourFormat(this) của lớp học android như sau.

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