【问题标题】:formatting iso-8601 date string格式化 iso-8601 日期字符串
【发布时间】:2013-01-18 12:08:41
【问题描述】:
我在我的 ios 应用程序中接收来自多个 facebook 粉丝页面的事件,并且响应包含一个字段 start_time,它采用 ISO-8601 格式。但是,我注意到对于某些页面,我在此字符串中得到了偏移量,但对于某些页面,我没有。它们可能看起来像三个中的任何一个,2013-01-13T11:00:00、2013-01-25T21:00:00+0530 或只是日期 2013-02-03。如何检测格式并将其格式化为具有用户时区日期和时间的更易读的格式?
【问题讨论】:
标签:
ios
facebook-graph-api
【解决方案1】:
你可以检查字符串中的“T”或“+”,只要你知道这些是唯一的 3 种可能性:
NSString *dateString = @"2013-01-13T11:00:00";
if (([dateString rangeOfString:@"T"].location != NSNotFound) && ([dateString rangeOfString:@"+"].location != NSNotFound)) {
NSLog(@"found T and + in dateString: %@", dateString);
//set date format accordingly...
} else if (([dateString rangeOfString:@"T"].location != NSNotFound) && ([dateString rangeOfString:@"+"].location == NSNotFound)) {
NSLog(@"only found T in dateString: %@", dateString);
//set date format accordingly...
} else {
NSLog(@"didn't find T or + in dateString: %@", dateString);
//set date format accordingly...
}