【问题标题】:Time stamp comparison is wrong obj-c时间戳比较错误obj-c
【发布时间】:2017-06-16 12:51:47
【问题描述】:

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

2017-01-31 07:03:19 +0000

为什么这个比较失败了?

我正在使用 obj-c,而我正在使用 CLLocation 时间戳

【问题讨论】:

  • 粘贴一些代码。你怎么比较? NSCalendar 比较?
  • 约书亚,我会解释我在比较什么以及我是如何比较的,请阅读一点。我使用的是 Obj-c 和 CLLocation 时间戳,两个日期中间有一个简单的运算符。但也许你是对的,但我认为你没有阅读我的问题,你只是在寻找代码示例,这很有趣,下面的人如何能够准确地弄清楚我想要什么,这很有趣,可能是因为他读了
  • 有很多方法可以实现您想要的。你有比较,你有 nscalendar,等等。现在,如果您确实提供了示例代码,那么也许我们可以从那里开始。您的问题不清楚您当前使用的是什么,stackoverflow 不是您发布的网站,我们会回答,它是一个增强您当前拥有的网站的网站。你只是不知道如何使用stackoverflow。

标签: objective-c timestamp boolean


【解决方案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");
}

【讨论】:

  • 它们实际上是开始的日期,但日期比较部分是有效的,我只是错误地比较日期
猜你喜欢
  • 1970-01-01
  • 2012-07-09
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
  • 2016-07-26
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多