将数组中的NSStrings转换为NSDates

时间:2011-05-05 07:40:04

标签: iphone objective-c nsdate nsdateformatter

我正在进行一项任务,允许用户显示“今天”发生的事件。我已经解析了XML文件并将内容存储到数组中。 XML文件的内容包括标题,描述,日期等。日期是NSString格式,我想将它们转换为NSDates,并将它们与今天的日期进行比较,然后再在UITableView中显示它们。

我是obj-c的新手,我在网上寻求NSDate的帮助,但我找不到我需要的东西。任何链接,建议或帮助都非常感谢。提前致谢(:

4 个答案:

答案 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)

查看NSDateFormatter

它有一个名为dateFromString的方法 就像你可以做到以下几点:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/mm/yyyy"];
NSDate *date = [formatter dateFromString:@"5/5/2011"];
相关问题