-1

我想比较两个日期。为此,我必须使用两个字符串(fromDates 和 toDates)中的日期。

这里 fromDate 在控制台中显示正确的值。

//Console.
19/12/2012 from date is

在 NSDateFormatter 进程之后,我得到错误的格式和日期,有时它显示为 NULL。

//console
First = (null)

我使用了下面的方法。

if (fromDate) {
        self.printFromDate.text = [NSString stringWithFormat:@"%@",curBtn.dateString];
        fromDates = self.printFromDate.text;
        NSLog(@"%@ from date is",fromDates);
       dtFormatter  = [[NSDateFormatter alloc] init];
        [dtFormatter setDateFormat:@"yyyy-MM-dd"];
        NSDate *strDate = [dtFormatter dateFromString:fromDates];
        NSLog(@"First = %@",strDate);    
    }

谁能告诉我我哪里错了。我完全卡在这里。提前谢谢。

4

2 回答 2

3

您的日期格式化程序不遵循字符串格式。

我想你正在寻找这个:

[dtFormatter setDateFormat:@"dd/MM/yyyy"];
NSDate *date1 = [dtFormatter dateFromString:fromDates];
NSDate *date2 = [dtFormatter dateFromString:anotherDate];

if ([date1 compare:date2] == NSOrderedDescending)
    NSLog(@"date1 comes first");        
else if ([date1 compare:date2] == NSOrderedAscending)
    NSLog(@"date2 comes first");
else
    NSLog(@"date1 is the same date as date2");
于 2012-12-03T08:16:37.027 回答
1
        dtFormatter  = [[NSDateFormatter alloc] init];
        [dtFormatter setDateFormat:@"dd/MM/yyyy"];
        NSDate *strDate = [[NSDate alloc] init];
        strDate = [dtFormatter dateFromString:fromDates];
        NSLog(@"First = %@",strDate); 

我想这会对你有所帮助。

于 2012-12-03T08:21:18.840 回答