我如何检查日期选择器输入的日期是否在存储为变量的某一天之前,年份无关紧要。
例如,我需要检查在日期选择器上选择的日期,让我知道它是在 1 月 5 日之前还是 1 月 5 日之后。如果结果为真,则结果应触发 IF 函数。
NSDate * dateOne = [NSDate date];
NSDate *dt1 = NSDate date];
if([dateOne compare:dateTwo] == NSOrderedAscending) {
NSLog(@"TRUE");
}
我如何检查日期选择器输入的日期是否在存储为变量的某一天之前,年份无关紧要。
例如,我需要检查在日期选择器上选择的日期,让我知道它是在 1 月 5 日之前还是 1 月 5 日之后。如果结果为真,则结果应触发 IF 函数。
NSDate * dateOne = [NSDate date];
NSDate *dt1 = NSDate date];
if([dateOne compare:dateTwo] == NSOrderedAscending) {
NSLog(@"TRUE");
}
您想要做的是将当前日期拆分为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.
}
您可以只获得所选日期的日期和月份,如下所示..
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;
}