NSDate的日期字符串格式

时间:2013-05-16 09:09:28

标签: iphone ios objective-c

我有这样的日期字符串格式:

2007-04-28T03:00:33.000Z

我想用这种方法将其转换为NSDate

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-ddTHH:mm:ss.000Z"];
NSDate *myDate = [df dateFromString:str];

但是myDate总是零。知道为什么吗?

3 个答案:

答案 0 :(得分:8)

使用此格式

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

答案 1 :(得分:2)

试试这个

NSString *dateString = @"2007-04-28T03:00:33.000Z";
dateString = [dateString stringByReplacingOccurrencesOfString:@":" withString:@"" options:0 range:NSMakeRange(dateString.length-3, 1)];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"];
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"date: %@", date);

答案 2 :(得分:0)

将格式更正为

yyyy-MM-dd'T'HH:mm:ss.SSSZZZ