【问题标题】:date Manipulation in iphone sdk?iphone sdk中的日期操作?
【发布时间】:2010-12-06 09:04:39
【问题描述】:

我使用下面的代码来比较两个日期(不是时间)和时间,但它总是返回未来......请帮助?我怎样才能改变下面的代码来做到这一点?

   NSComparisonResult result = [[NSDate date] compare:[NSDate date]];

        switch (result)
        {
            case NSOrderedAscending: 
                NSLog(@" in future"); 


                break;
            case NSOrderedDescending: 
                NSLog(@" in past");
                break;
            case NSOrderedSame:
                NSLog(@" in same");
               break;
            }

【问题讨论】:

    标签: iphone ipad ios4


    【解决方案1】:

    [NSDate date] 将使用当前日期和时间创建新的日期对象。由于您在不同时间创建了两个 NSDate 对象(尽管只有几毫秒的差异),这就是为什么它总是在未来返回。

    我可以想出两种方法来解决这个问题。

    仅创建日期对象:

    NSDate *currentDate = [NSDate date];
    NSComparisonResult result = [currentDate compare:currentDate];
    

    或者您可以使用 NSTimeInterval 以秒为单位返回时间差:

    (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2011-12-23
      相关资源
      最近更新 更多