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

时间:2017-12-05 12:05:15

标签: c# ios xamarin

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

1 个答案:

答案 0 :(得分:3)

尝试iOS代码:

var htmlContent = await _ViewToStringRendererService.RenderViewToStringAsync("Home/PDFTemplate", viewModel);
(var contentType, var generatedFile) = await GeneratePDFAsync(htmlContent);
Response.Headers["Content-Disposition"] = $"attachment; filename=\"{System.Net.WebUtility.UrlEncode(fileName)}\"";

// You may save your file here
using (var fileStream = new FileStream(Path.Combine(folder, fileName), FileMode.Create))
{
   await generatedFile.CopyToAsync(fileStream);
}
// You may need this for re-use of the stream
generatedFile.Seek(0, SeekOrigin.Begin);

return File(generatedFile.ToArray(), "application/pdf", fileName);

这对于android:

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