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

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

文档看起来很清晰,不是吗?https://developer.apple.com/documentation/foundation/nslocale/1409990-currentlocale - Dorukhan Arslan
好的,那么它可能反映了24/12格式,但是我仍然看不到检查使用的格式的属性。我需要得到类似于bool Use24HourFormat =(检查是否设置了24小时格式)的东西。 - Tomáš Bulíček
1个回答

6

在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;
}

这是针对 Android 的内容:

private bool CheckIsTwelveTimeFormat()
{
    return Android.Text.Format.DateFormat.Is24HourFormat(Android.App.Application.Context);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接