如何在 iOS/Xamarin 上获取时间格式(24/12 小时)的设备设置

Tom*_*ček 2 c# ios xamarin

我需要从代码访问 iOS 设备的设备设置,并获取指定时间是否显示为 12 小时或 24 小时格式的设置。我可以使用“NSLocale.CurrentLocale”属性,但它只有给定语言环境的默认时间格式,而不是设备设置,不是吗?我还没有在网上找到相关信息,所以我在这里寻求帮助。

小智 5

在 iOS 上试试这个代码:

private bool CheckIsTwelveTimeFormat()
{
    var dateFormatter = new NSDateFormatter();
    dateFormatter.DateStyle = NSDateFormatterStyle.None;
    dateFormatter.TimeStyle = NSDateFormatterStyle.Short;

    var dateString = dateFormatter.ToString(NSDate.Now);
    var isTwelveHourFormat = 
    dateString.Contains(dateFormatter.AMSymbol) || 
    dateString.Contains(dateFormatter.PMSymbol);
    return isTwelveHourFormat;
}
Run Code Online (Sandbox Code Playgroud)

这对于安卓:

private bool CheckIsTwelveTimeFormat()
{
    return Android.Text.Format.DateFormat.Is24HourFormat(Android.App.Application.Context);
}
Run Code Online (Sandbox Code Playgroud)