首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将日期与[NSDate NSDate ]进行比较

将日期与[NSDate NSDate ]进行比较
EN

Stack Overflow用户
提问于 2010-02-14 03:15:56
回答 3查看 26.2K关注 0票数 11

我正在尝试强制用户使用日期选择器选择将来的日期。我显然使用了compare:方法,但是,当我执行以下代码时,即使日期与NSDate日期相同,它也会告诉执行if语句。下面是我的代码:

代码语言:javascript
复制
    if ([datePicker.date compare:[NSDate date]] == NSOrderedAscending) // If the picked date is earlier than today
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hmm, this date is earlier than today" 
                                                    message:@"The date you've selected is earlier than today's date, please pick another" 
                                                   delegate:nil  
                                          cancelButtonTitle:@"Okay, I'll pick another" 
                                          otherButtonTitles:nil];
    // Show the alert
    [alert show];

    // Release the alert
    [alert release];
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-14 03:32:20

我不知道你的问题的答案,但你怎么才能绕过它。

只需使用UIDatePicker的minimumDate属性,这甚至是一种更简洁的方法。

票数 15
EN

Stack Overflow用户

发布于 2010-02-14 03:22:55

您可以使用

代码语言:javascript
复制
[datePicker.date timeIntervalSinceNow]

它返回一个NSTimeInterval (只是一个双精度的类型定义,以秒为单位),它对未来是积极的,对过去是消极的。

正如文档所说,compare提供亚秒级比较,因此您可以使用它来强制将他们的日期推迟一整天(而不仅仅是未来的某个时间)。

票数 24
EN

Stack Overflow用户

发布于 2010-02-14 03:28:13

NSDate对象同时包含日期和时间,因此有许多日期相同的日期可以在同一天的另一个日期之前或之后。

date类方法返回一个包含当前日期、日期和时间的date对象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2258703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档