我有下一个日期字符串,
2011-08-30T11:44:54.345-04:00
帮我编写正确的格式,用dateFromString:
答案 0 :(得分:1)
你需要删除最后一个冒号(时区,“ - 04:00” - >“ - 0400”),因为Z
将采用类似“-0800”的东西,然后你可以尝试一下:
NSString *dateString = @"2011-08-30T11:44:54.345-04:00";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-ddEHH:mm:ss.SSSZ"];
NSDate *date = [dateFormat dateFromString:dateString];
[dateFormat release];
有关日期格式的详细信息,请参阅this page。
答案 1 :(得分:0)
答案 2 :(得分:0)
这是关于tilo的答案,但添加了一些东西。
NSString *dateString = @"2011-08-30T11:44:54.345-04:00";
NSRange range = [dateString rangeOfString:@":" options:NSBackwardsSearch];
dateString = [dateString stringByReplacingOccurrencesOfString:@":" withString:@"" options:0 range:range];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-ddEHH:mm:ss.SSSZ"];
NSDate *date = [dateFormat dateFromString:dateString];
[dateFormat release];
您将获得所需的格式。