NSDateFormatter没有输出我期望的内容

时间:2014-07-10 17:01:59

标签: ios objective-c nsdateformatter

我有以下代码可以格式化时间字符串(" 0800"),然后我可以再次格式化为HH:MM格式进行显示。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
if([timeString intValue] < 1000)
    dateFormatter.dateFormat = @"Hmm";
else
    dateFormatter.dateFormat = @"HHmm";

NSDate *date = [dateFormatter dateFromString:timeString];

如果时间字符串长度小于4个字符,则格式字符串会相应更改。

问题是如果时间字符串是0800,则dateFormatter会从 timeString 的转换中返回 nil

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

无论时间字符串的整数值如何,您都需要使用HHmm0800的格式为HHmm,而不是Hmm。如果字符串为800,则使用Hmm会有意义。