NSDate不能正确转换为仅在12:00 PM格式化

时间:2016-01-31 07:36:56

标签: ios nsdate nsdateformatter

这就是我将约会转换为uilabel的方式:

在我看来:

self.label.text = [Utils stringFromDate:date format:@"a hh:mm"];

在Utils中:

+ (NSCalendar *)xCalendar {
return [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
}

+ (NSDateFormatter *)xDateFormatter {
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.calendar = [Utils xCalendar];
return df;
}

+ (NSString *)stringFromDate:(NSDate *)date format:(NSString *)formatStr {
NSDateFormatter *df = [Utils xDateFormatter];
[df setDateFormat:formatStr];
return [df stringFromDate:date];
}

现在如果数据是上午11:00,它正常工作。但是,如果数据是从中午12:00到下午12:59之间的任何数据,则标签将显示从上午12:00到下午12:59。下午1:00将正常工作。为什么会这样?

1 个答案:

答案 0 :(得分:0)

在函数参数

中传递“HH:mm a”日期格式
[Utils stringFromDate:date format:@"HH:mm a"];

设置更多时区格式,为“Click here