【问题标题】:How to compare today date is greater than or equals to another如何比较今天日期大于或等于另一个
【发布时间】:2023-03-29 06:39:01
【问题描述】:

比较 2 个日期 if (from_date >= 今天 && totime

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSLog(@"%@",[dateFormatter stringFromDate:[NSDate date]]);
NSString * TodayDate = [dateFormatter stringFromDate:[NSDate date]];

if ([displayList.fromTime compare:TodayDate] == NSOrderedDescending) {
    NSLog(@"date1 is later than date2");

} else if ([displayList.toTime compare:date2] == NSOrderedAscending) {
    NSLog(@"date1 is earlier than date2");

} else {
    NSLog(@"dates are the same");

}

【问题讨论】:

    标签: ios objective-c nsdate nsdateformatter


    【解决方案1】:

    你可以比较NSString,这是错误的。您需要比较两个 NSDate 对象。

    这里是更新代码:

      NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init];
        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    
        // You are doing wrong compareing at here. You need to compare Date nor sting.
    //    NSString * TodayDate = [dateFormatter stringFromDate:[NSDate date]];
    
        NSDate *TodayDate = [NSDate date];
        NSDate *compareData = [dateFormatter dateFromString:@"2017-07-09 11:12:11"];
    
        if ([compareData compare:TodayDate] == NSOrderedDescending) {
            NSLog(@"date1 is later than date2");
    
        } else if ([compareData compare:TodayDate] == NSOrderedAscending) {
            NSLog(@"date1 is earlier than date2");
    
        } else {
            NSLog(@"dates are the same");
    
        }
    

    【讨论】:

    • 是否可以做大于等于
    • 它需要时间和日期,所以如果日期相同并且时间提前,那么它将返回 NSOrderedDescending。所以它会起作用。
    【解决方案2】:

    您不是说 fromDate 是什么类型的对象,而是因为您将它与 TodayDate(一个字符串)进行比较,所以当您比较它们时,我假设您的所有日期都是字符串?如果是这样,那是一个糟糕的选择。日期比较和字符串比较不一样,会产生不同的结果。

    与其将今天的日期转换为字符串,不如将 fromDate 转换为 NSDate,然后进行比较。

    如果,OTOH,fromDate 不是字符串,那是你的错误。仅仅因为两个对象导致相同的文本被 NSLogged 并不意味着它们是相同的类型并且可以进行比较,因此请确保它们都是相同的类型 (NSDate),然后进行比较。

    【讨论】:

      猜你喜欢
      • 2012-07-30
      • 2022-10-20
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多