iphone sdk中的日期操作?

Posted

技术标签:

【中文标题】iphone sdk中的日期操作?【英文标题】:date Manipulation in 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;
            

【问题讨论】:

【参考方案1】:

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

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

仅创建日期对象:

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

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

(NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate

【讨论】:

以上是关于iphone sdk中的日期操作?的主要内容,如果未能解决你的问题,请参考以下文章

在 iPhone OS4 SDK 中设置重复本地通知的结束日期

如何在iphone sdk中使用日期倒计时来计算天数[关闭]

iPhone SDK - NSDateFormatter 日+月

如何管理单行中的多个标签但没有。表格视图中的单元格数量取决于 iPhone SDK 中的数组。

将字符串添加到 tableview iphone sdk

在 Iphone 的日期选择器中插入空白值