-1

2つの日付を比較したいのですが、そのためには2つの文字列(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 に答える