【发布时间】:2014-07-18 12:59:35
【问题描述】:
我从RSS 提要中获取日期字符串,喜欢这些
1- "Saturday, May 10, 4pm - Wednesday, May 14, 2014, 5pm"
2- "Wednesday, April 30, 2014, 5 - 6am"
我可以使用NSDateFormatter 从这些字符串中获取NSDate 吗?
有人帮我解决这个问题吗?
更新
//
NSString *completeString = @"Saturday, May 10, 4pm - Wednesday, May 14, 2014, 5pm";
NSArray *array = [completeString componentsSeparatedByString:@"-"];
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
dateFormatter1.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter1 setDateFormat:@"EEEE, MMM dd, ha"];
NSDate *date1 = [dateFormatter1 dateFromString:[array firstObject]];
// second date
NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
dateFormatter2.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter2 setDateFormat:@"EEEE, MMM dd, YYYY, ha"];
NSDate *date2 = [dateFormatter2 dateFromString:[array lastObject]];
NSString *thirdString = @"Wednesday, April 30, 2014, 5 - 6am";
NSDateFormatter *dateFormatter3 = [[NSDateFormatter alloc] init];
dateFormatter3.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter3 setDateFormat:@"EEEE, MMM dd, YYYY, h - ma"];
NSDate *date3 = [dateFormatter3 dateFromString:thirdString];
NSLog(@"first date---%@", date1);
NSLog(@"second date--%@", date2);
NSLog(@"third date---%@", date3);
第一次约会---2000-05-10 10:30:00 +0000
第二个日期--2013-12-25 11:30:00 +0000
第三天---2013-12-24 23:36:00 +0000
【问题讨论】:
-
你有没有尝试过?
-
实际上,我不知道。我应该如何尝试解决它。如果你能给出任何想法。我怎么能解决它。
-
那些查看时间间隔而不是单个日期。
-
你没有得到日期字符串。您正在获取带有日期范围的字符串。
-
好的。您作为示例提供的这两个字符串中有一个模式:日期之间的破折号(-)。所以你可以用这个字符分割字符串。然后将第一个解析为有效日期。应该检查字符串的第二块是否与某个正则表达式匹配,以确定您在其中指定了多少日期。然后解析它。
标签: ios objective-c nsdate nsdateformatter