时间戳比较是错误的obj-c

时间:2017-01-31 07:08:05

标签: objective-c timestamp boolean

我正在比较下面的两个日期,结果显示为二进制(1真0假)。

2017-01-31 07:03:19 +0000< 2017-01-31 07:04:33 +0000,0

为什么这种比较失败?

我正在使用obj-c和im使用CLLocation时间戳

1 个答案:

答案 0 :(得分:1)

首先,您必须将这两个字符串2017-01-31 07:03:19 +0000和2017-01-31 07:04:33 +0000转换为 NSDate

然后你可以比较两个日期并得到结果。

NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
NSDate *date1 = [formatter dateFromString:@"2017-01-31 07:03:19 +0000"];
NSDate *date2 = [formatter dateFromString:@"2017-01-31 07:04:33 +0000"];
if ([date1 compare:date2]==NSOrderedAscending) {
    NSLog(@"Date 2 is higher than Date 1");
}
else if ([date1 compare:date2]==NSOrderedDescending) {
    NSLog(@"Date 1 is higher than Date 2");
}
else{
    NSLog(@"Date 1 and Date 2 both are same");
}