Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何以编程方式确定当前区域设置是使用AM/PM还是24小时格式作为时间?_Iphone_Ios_Ipad_Nslocale - Fatal编程技术网

Iphone 如何以编程方式确定当前区域设置是使用AM/PM还是24小时格式作为时间?

Iphone 如何以编程方式确定当前区域设置是使用AM/PM还是24小时格式作为时间?,iphone,ios,ipad,nslocale,Iphone,Ios,Ipad,Nslocale,我有一个24小时格式的时间字符串,如13:30,当用户的区域设置使用AM/PM时,我必须将其转换为12小时格式的字符串。我怎样才能可靠地检测到呢?有几种方法。看到我的问题了吗 基本上,您可以设置一个时间并检查am或pm的字符串,这不仅仅是语言环境。无论区域设置如何,用户都可以在“常规”、“日期和时间”下的“设置”应用程序中选择使用24小时(或不使用)。您是否尝试过[NSLocale currentLocale]或[NSLocale systemLocale]?@rmaddy是正确的。如果语言环境

我有一个24小时格式的时间字符串,如13:30,当用户的区域设置使用AM/PM时,我必须将其转换为12小时格式的字符串。我怎样才能可靠地检测到呢?

有几种方法。看到我的问题了吗
基本上,您可以设置一个时间并检查am或pm的字符串,这不仅仅是语言环境。无论区域设置如何,用户都可以在“常规”、“日期和时间”下的“设置”应用程序中选择使用24小时(或不使用)。您是否尝试过[NSLocale currentLocale]或[NSLocale systemLocale]?@rmaddy是正确的。如果语言环境是一种方式,而设置值是另一种方式,那么您可能会得到位,我不确定除了格式化某些内容并查看结果之外,还有什么好的方法来测试它。请注意,设置值甚至会覆盖NSDateFormat字符串中的显式“hh”/“hh”表示法。