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 日+月