-4

我如何检查日期选择器输入的日期是否在存储为变量的某一天之前,年份无关紧要。

例如,我需要检查在日期选择器上选择的日期,让我知道它是在 1 月 5 日之前还是 1 月 5 日之后。如果结果为真,则结果应触发 IF 函数。

NSDate * dateOne = [NSDate date];
NSDate *dt1 = NSDate date];

if([dateOne compare:dateTwo] == NSOrderedAscending) {
    NSLog(@"TRUE");
}
4

2 回答 2

4

您想要做的是将当前日期拆分为NSDateComponents

NSCalendar *currentCalendar = [NSCalendar currentCalendar];
NSDateComponents *components = [currentCalendar components:NSDayCalendarUnit | NSMonthCalendarUnit fromDate:[NSDate date]];

if (components.month < 2 || (components.month == 2 && components.day < 5) ){
    // Before the 5th of february.
}
于 2013-03-29T09:26:41.237 回答
-1

您可以只获得所选日期的日期和月份,如下所示..

NSInteger sDay = [[[yourDatePicker date] stringFromDateWithFormat:@"dd"] integerValue];
NSInteger sMonth = [[[yourDatePicker date] stringFromDateWithFormat:@"MM"] integerValue];
if ( sMonth < 2 || (sMonth  == 2 && sDay < 5) ) {
        NSLog(@"yes its further");
}

以下是一种可用于将任何日期转换为任何日期格式的方法。

-(NSString*)stringFromDateWithFormat:(NSString*)strDateFormat{
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
     //[formatter setTimeZone:[NSTimeZone systemTimeZone]];
    [formatter setDateFormat:strDateFormat];
    NSString *str = [formatter stringFromDate:self];
    [formatter release];
    return str;
}
于 2013-03-29T09:22:43.070 回答