NSDateFormatter dateFromString从字符串返回上一个日期

时间:2014-04-11 09:25:54

标签: cocoa nsdate nsdateformatter

我想将用户输入日期字符串与当前日期进行比较。我的要求是,用户输入的日期应始终是未来日期。 为此,我将字符串值转换为日期并与[NSDate date]进行比较。但dateFromString始终在用户输入日期之前返回日期。 这是我的代码:

 NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MM/dd/yy"];
    NSDate *myDate=[dateFormatter dateFromString:@"04/11/2014"];
    NSComparisonResult result = [(NSDate*)[NSDate date] compare:myDate];
    NSLog(@"myDate is %@",myDate);
    NSLog(@"currrent date is %@",[NSDate date]);
    if(result==NSOrderedDescending)
    {
        NSLog(@"the date entered is past date");
    }

以下是输出:

myDate is 2014-04-10 18:30:00 +0000
currrent date is 2014-04-11 09:23:28 +0000
the date entered is past date

如何将字符串日期与当前日期进行比较。 (我的时区是IST-GMT + 5:30)。

1 个答案:

答案 0 :(得分:0)

不要担心输出。如果添加时区,您应该注意到这些日期是正确的,并且在这种情况下比较工作正常。可能你需要比较忽略时间。您可以在此处看到:https://stackoverflow.com/a/1854919/2317866

相关问题