我正在进行一项任务,允许用户显示“今天”发生的事件。我已经解析了XML文件并将内容存储到数组中。 XML文件的内容包括标题,描述,日期等。日期是NSString格式,我想将它们转换为NSDates,并将它们与今天的日期进行比较,然后再在UITableView中显示它们。
我是obj-c的新手,我在网上寻求NSDate的帮助,但我找不到我需要的东西。任何链接,建议或帮助都非常感谢。提前致谢(:
答案 0 :(得分:4)
假设dateString包含字符串格式的日期
首先从字符串中获取日期: -
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/mm/yyyy"];
NSDate *dateprevious = [formatter dateFromString:dateString];
现在获取今天的日期
NSDate *date=[NSDate date];
[formatter setDateFormat:@"dd"];
NSString *dateOfGame =[formatter stringFromDate:dateprevious];
NSString *todaydate =[formatter stringFromDate:date];
[formatter release];
if([todaydate isEqualToString:dateknown])
{
NSLog(@"date matched");
}
答案 1 :(得分:1)
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy , hh:mm a"];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
NSDate *date = [[dateFormatter datefromString:date] retain];
[dateFormatter release];
你可以使用这个
答案 2 :(得分:1)
根据字符串的格式,您可以使用this:
+ (id)dateWithNaturalLanguageString:(NSString *)string
要比较两个日期,您会发现here很多有用的答案:)
答案 3 :(得分:0)
它有一个名为dateFromString的方法 就像你可以做到以下几点:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/mm/yyyy"];
NSDate *date = [formatter dateFromString:@"5/5/2011"];