我有这段代码:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm Z"];
[dateFormat setTimeZone:[NSTimeZone localTimeZone]];
[dateFormat setLocale:[NSLocale currentLocale]];
NSString *sDate = [dateFormat stringFromDate:_datePicker];
_datePicker来自于此,而datePicker是一个UIDatePicker
_datePicker = datePicker.date;
这确实在iOS 7中运行正常,现在我在9.1
进行测试因此,如果将手机设置设置为以24小时格式显示时间即可,但如果我将设置更改为无24小时格式,则表示我有异步行为:
如果设置为24h,则输出为:
但如果我把它改为非24h则是:
正如你所看到的那样,结合它添加的2种格式,例如下午1点到13点或下午6点的13点将是186:00。
是否有时间以24小时格式获得时间?
提前致谢。
答案 0 :(得分:0)
您好我已经在另一个页面中看到了这种方法,我已将代码更改为:
NSDateFormatter *rfc3339DateFormatter = [[NSDateFormatter alloc] init];
NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[rfc3339DateFormatter setLocale:enUSPOSIXLocale];
[rfc3339DateFormatter setDateFormat:@"yyyy-MM-dd HH:mm Z"];
[rfc3339DateFormatter setTimeZone:[NSTimeZone localTimeZone]];
NSString *sDate = [rfc3339DateFormatter stringFromDate: _datePicker];
现在工作正常,但我不确定这是正确的方法。
我希望将来可以帮助某人。