如何比较 Objective C 中日期格式的字符串
How to compare strings in date format in Objective C
我有两个字符串,格式为 Fri, 22 Jan 2016 10:46:50 +0530。我需要比较这两个 strings.If 可以通过将它们转换为日期来完成,我该如何编写 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");
}
使用[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");
}
设置日期格式如
如果您的时间格式是 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];
我有两个字符串,格式为 Fri, 22 Jan 2016 10:46:50 +0530。我需要比较这两个 strings.If 可以通过将它们转换为日期来完成,我该如何编写 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");
}
使用[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");
}
设置日期格式如
如果您的时间格式是 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];