1

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

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始终为零。知道为什么吗?

4

3 回答 3

8

使用这种格式

[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZ"];
于 2013-05-16T09:12:56.937 回答
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);
于 2013-05-16T09:12:12.643 回答
0

将您的格式更正为

yyyy-MM-dd'T'HH:mm:ss.SSSZZZ
于 2013-05-16T10:03:39.357 回答