NSDateFormatter 显示不正确的分钟值

NSDateFormatter showing incorrect Minutes value

下面是我用来在 iPad 应用程序中获得 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 上午

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

您正在使用 mmm 格式

选择两组值
HH:mm:ss.mmm
   ^^    ^^^

您需要使用 S 小数秒

HH:mm:ss.SSS

使用此代码,您将获得 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]);
[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"];