1

我从我的 ios 应用程序中的几个 facebook 粉丝页面接收事件,并且响应包含一个字段 start_time,它采用 ISO-8601 格式。但是,我注意到对于某些页面,我在这个字符串中得到了偏移量,但对于一些我没有。它们可能看起来像三者中的任何一个,2013-01-13T11:00:00、2013-01-25T21:00:00+0530 或只是日期 2013-02-03。如何检测格式并将其格式化为具有用户时区日期和时间的更易读的格式?

4

1 回答 1

2

您可以检查字符串中的“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...
}
于 2013-01-18T12:50:47.687 回答