Question

What's the best way to determine if the user has set the "24-hour clock" setting to true in Settings-Date+Time on the Windows Phone ?

Can I get this information through the CurrentCulture (CultureInfo) ? I had no luck in finding it.

Was it helpful?

Solution

The system clock type can be retrieved using:

string clockType = Windows.System.UserProfile.GlobalizationPreferences.Clocks.FirstOrDefault();

This will return the string 24HourClock if the 24 hour setting is on in the device settings or 12HourClock if the setting is off.

OTHER TIPS

On the back of Dennis' answer, you should be able to determine 24-hour time using String.Contains:

bool is24HourTime = DateTimeFormatInfo.CurrentInfo.ShortTimePattern.Contains("H");

The DateTimeFormatInfo.CurrentInfo.ShortTimePattern way of getting the hour is tied to the culture, and not to the option showing whether 24-hour time is enabled or not. So you will get h:mm tt for English (United States) and HH:mm for German (Germany).

At this moment, you cannot get this system setting.

For japanese developers, please note.

DateTimeFormatInfo.CurrentInfo.ShortTimePattern in the culture ja-JP will return the same string H:mm, regardless of if the phone setting for 24-Hour time is enabled or not.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top