【发布时间】:2011-10-24 09:40:06
【问题描述】:
我有下一个日期字符串,
2011-08-30T11:44:54.345-04:00
帮我写出正确的格式,用dateFromString:解析它
【问题讨论】:
标签: iphone ios date date-format
我有下一个日期字符串,
2011-08-30T11:44:54.345-04:00
帮我写出正确的格式,用dateFromString:解析它
【问题讨论】:
标签: iphone ios date date-format
你需要去掉最后一个冒号(时区,“-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。
【讨论】:
这是遵循 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];
你会得到所需的格式。
【讨论】: