NSDateFormatter返回错误的分钟

时间:2015-05-19 02:12:20

标签: ios nsdateformatter

我正在将一个NSString的服务器时间戳转换为NSDate但是我得错了。请帮忙。这是我的代码。

NSLog(@"string %@", string);

// Setup Date Formatter
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setTimeZone:[NSTimeZone defaultTimeZone]];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.zzzZ"];

// Get Date From String
NSDate *dateOfCall = [formatter dateFromString:string];
NSLog(@"dateOfCall %@",dateOfCall);

[formatter setDateFormat:@"h:mm a"];
NSString *dateString = [formatter stringFromDate:dateOfCall];
NSLog(@"dateString %@",dateString);

这是我的日志。

string 2015-05-19T01:48:33.603890Z
dateOfCall 2015-05-19 01:38:29 +0000
dateString 9:38 PM

正如你所知道的那样,似乎错误地将分钟转换。

1 个答案:

答案 0 :(得分:0)

您的日期格式化程序不正确,请尝试此日期

    [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ"];

这将输出

2015-05-19 10:31:04.530 OCTest[2428:76257] string 2015-05-19T01:48:33.603890Z
2015-05-19 10:31:04.534 OCTest[2428:76257] dateOfCall 2015-05-19 01:48:33 +0000
2015-05-19 10:31:35.113 OCTest[2428:76257] dateString 9:48 AM

我不确定这是否是您想要的,如果您有更多问题,请随时发表评论