HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了NSDateFormatter“HH”在iOS 8设备上返回am / pm大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题在这里已经有一个答案:> What is the best way to deal with the NSDateFormatter locale “feechur”?4个
我现在很痛我一直很高兴地使用NSDateFormatter没有任何问题,但今天我注意到我的一个应用程序给我的iPhone 6加上iOS 8.1.3的设备疯狂的结果 – 而在其他设备/模拟器似乎是好的.看看它有这个代码
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]]; 
[dateFormatter setDateFormat:@"HH"];
NSInteger hour= [[dateFormatter StringFromDate:datetiR_319_11845@e] IntegerValue];

这个结果(在设备上)为0-12小时的符号,因为超出我的原因,如果我打印[dateFormatter StringFromDate:datetiR_319_11845@e]在那一点我得到“下午4点”!

我失踪了什么

解决方法

编辑:
要查看问题,请在手机设置中选择一个认为24小时制的区域,例如“英国”或“法国”.然后,从设置中禁用“24小时”.现在,如果您创建一个NSDateFormatter而不设置其区域设置,“HH”将不起作用.
为了规避这个问题,请设置区域设置(即使是与当时手机相同).对于上面的代码我们可以添加
dateFormatter.locale = [[NSLocale alloc] initWithLocalEIDentifier:@"en_US_POSIX"];

任何地区都会工作,甚至en_GB.这显然是一个bug,而不是unicode标准的某种奇怪的表示,因为如果你设置了一个认为12小时的区域,那么“24小时时间”滑块不会影响“HH”的工作原理,而if您处于认为24小时的区域,那么设置中的滑块会影响代码的工作原理.

大佬总结

以上是大佬教程为你收集整理的NSDateFormatter“HH”在iOS 8设备上返回am / pm全部内容,希望文章能够帮你解决NSDateFormatter“HH”在iOS 8设备上返回am / pm所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。