需要特定日期格式的帮助

时间:2011-10-24 09:40:06

标签: iphone ios date date-format

我有下一个日期字符串,

2011-08-30T11:44:54.345-04:00

帮我编写正确的格式,用dateFromString:

解析它

3 个答案:

答案 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];

您将获得所需的格式。