嗨,世界专家,
我遇到了一个非常奇怪的问题:
我正在以下列方式格式化一个表示 00-23 的时间的字符串(由 Google 服务返回):
(传入一个让我们说 14 的字符串,应该输出 14:00 或 2:00 PM,取决于本地用户)
+(NSString *) formatTime: (NSString *)timeToBeFormatted {
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"HH"];
NSDate *date = [[NSDate alloc] init];
date = [dateFormat dateFromString:timeToBeFormatted];
// Convert date object to desired output format
[dateFormat setTimeStyle:NSDateFormatterShortStyle];
timeToBeFormatted = [dateFormat stringFromDate:date];
return timeToBeFormatted;
}
在全球所有当地人中一切正常。
但是,仅当用户在默认值为 24 小时的本地将其 TIME 格式设置为 12 小时时,格式化程序才会仅对 12-23 之间的值返回 NULL。我会说这很奇怪!
示例:格式化程序 12 之前 12:00 AM 之后 格式化程序 13 之前 之后 (null)
任何想法为什么会发生这种情况?
谢谢!