我有一个通用应用,同时定位iPhone
和iPad
,仅支持iOS 6+
我有一段非常简单的代码可以从NSDate
中抽取时间并将其格式化以便显示:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"h:mm a"];
validFromField.text = [formatter stringFromDate:fromDate];
日期为'01/01/2012 10:00'
inDate,在iPhone模拟器,iPad模拟器和真正的iPhone 4S上,我得到预期值'10:00 AM'
但是,在我的iPad(3,新iPad)上,我得到'10:00'
,好像格式化程序中的'a'
被忽略了。
iPhone和iPad都在运行iOS 6.0.1
有没有人遇到过这个问题,或者知道如何修复它?
答案 0 :(得分:0)
我在另一个SO问题中找到了我的问题的答案:NSDateFormatter has different results when iPad has a 24-hour format ......
Apple Technical Q& A支持:http://developer.apple.com/library/ios/#qa/qa1480/_index.html
因此,实质上如果设备设置为24小时,则忽略格式化程序中的'a'
标志,并以24小时格式返回时间。