NSDateFormatter显示不正确的分钟值

时间:2015-12-17 14:00:05

标签: ios objective-c nsdateformatter

下面是我用来获取iPad App中Datetime的渴望结果的代码, 但它给了我正确的日期,但关于时间它没有显示正确的值。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.mmm"];
NSDate *date = [dateFormatter dateFromString:@"2009-06-02 08:24:27.000"];
[dateFormatter setDateFormat:@"MM/dd/yyyy h:mm a"];
NSLog(@"Your converted date - %@",[dateFormatter stringFromDate:date]);

您的转换日期 - 06/02/2009 8:00 AM

请注意,分钟显示不正确...它始终显示00值。

3 个答案:

答案 0 :(得分:8)

您正在使用mmm格式

获取两组值
HH:mm:ss.mmm
   ^^    ^^^

您需要将S用于小数秒

HH:mm:ss.SSS

答案 1 :(得分:0)

使用此代码,您拥有minutes

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.S"];

样品:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.S"];

NSDate *date = [dateFormatter dateFromString:@"2009-06-02 08:24:27.000"];
[dateFormatter setDateFormat:@"MM/dd/yyyy h:mm a"];
NSLog(@"Your converted date - %@",[dateFormatter stringFromDate:date]);

答案 2 :(得分:0)

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.mmm"];
//replace above line with with below code
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];