【问题标题】:How to compare strings in date format in Objective C如何在Objective C中比较日期格式的字符串
【发布时间】:2016-01-25 11:54:18
【问题描述】:

我有两个字符串,格式为 Fri, 22 Jan 2016 10:46:50 +0530。我需要比较这两个字符串。如果可以通过将它们转换为日期来完成,我该如何编写 NSDateFormatter 样式。尝试了下面的代码。但不工作。我将 newDate 和 currentDate 设为 nil。任何帮助将不胜感激。

NSString *dateString1 = @"Fri, 22 Jan 2016 10:46:50 +0530";
NSString *dateString2 = @"Fri, 21 Jan 2016 10:46:50 +0530";
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
[inputFormatter setDateStyle:NSDateFormatterFullStyle];

NSDate *newDate = [inputFormatter dateFromString:dateString1];
NSDate *currentDate = [inputFormatter dateFromString:dateString2];

[inputFormatter release];

NSComparisonResult result = [newDate compare:currentDate]; // comparing two dates

if(result == NSOrderedAscending || result == NSOrderedSame) {
    NSLog(@"newDate is less or same");
}

【问题讨论】:

    标签: ios objective-c nsdateformatter


    【解决方案1】:

    使用[inputFormatter setDateFormat:@"EEE, DD MMM yyyy HH:mm:ss z"];

        NSString *dateString1 = @"Fri, 22 Jan 2016 10:46:50 +0530";
        NSString *dateString2 = @"Fri, 22 Jan 2016 10:46:50 +0530";
    
        NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
    
        [inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
    
        NSDate *newDate = [inputFormatter dateFromString:dateString1];
        NSDate *currentDate = [inputFormatter dateFromString:dateString2];
    
        NSComparisonResult result = [newDate compare:currentDate]; // comparing two dates
    
        if(result == NSOrderedAscending || result == NSOrderedSame) {
            NSLog(@"newDate is less or same");
        }
    

    【讨论】:

      【解决方案2】:

      设置日期格式如

      如果你的时间格式是 12 小时 - 使用 hh 否则如果你的时间格式是 24 小时 - HH

            NSString *dateString1 = @"Fri, 22 Jan 2016 10:46:50 +0530";
      [inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"];
      

      如果您使用 ARC,则不需要此 [inputFormatter release];

      【讨论】:

      • 试着说出你最终得到的答案
      猜你喜欢
      • 1970-01-01
      • 2020-04-23
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多