Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 比较两个日期以限制用户选择未来日期?_Objective C_Ios4_Date_Uidatepicker - Fatal编程技术网

Objective c 比较两个日期以限制用户选择未来日期?

Objective c 比较两个日期以限制用户选择未来日期?,objective-c,ios4,date,uidatepicker,Objective C,Ios4,Date,Uidatepicker,我被一个问题打动了,请看下面的问题并帮助解决 我有一个日期选择器,我在其中显示(日期、月、年),当用户选择上一个日期时,例如2011年11月5日,标签应得到更新并显示所选日期&如果用户选择当前日期之后的未来日期,则应显示选择“当前或以前日期”的警报 下面是我无法达到条件的代码 NSDate *post = [NSDate date]; NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; dateFormat.dateStyl

我被一个问题打动了,请看下面的问题并帮助解决

我有一个日期选择器,我在其中显示(日期、月、年),当用户选择上一个日期时,例如2011年11月5日,标签应得到更新并显示所选日期&如果用户选择当前日期之后的未来日期,则应显示选择“当前或以前日期”的警报

下面是我无法达到条件的代码

NSDate *post = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
dateFormat.dateStyle = NSDateFormatterMediumStyle;
NSString *theDate = [dateFormat stringFromDate:post];

NSDate *dates = [datepick date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateStyle = NSDateFormatterMediumStyle;
NSString *datetime = [dateFormatter stringFromDate:dates];

if (datetime > theDate) 
{
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Alert" message:@"Please select current date or past date" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];
}
else if(datetime <= theDate)
{
    date_array = [[NSMutableArray alloc]init];
    date.text = datetime;
    [date_array addObject:datetime];
}
[dateFormat release];
[dateFormatter release];
NSDate*post=[NSDate-date];
NSDateFormatter*dateFormat=[[NSDateFormatter alloc]init];
dateFormat.dateStyle=nsDateFormatTermeLiumStyle;
NSString*theDate=[dateFormat stringFromDate:post];
NSDate*日期=[日期选取日期];
NSDateFormatter*dateFormatter=[[NSDateFormatter alloc]init];
dateFormatter.dateStyle=nsDateFormatTermeLiumStyle;
NSString*datetime=[dateFormatter stringFromDate:dates];
如果(日期时间>日期)
{
UIAlertView*alert=[[UIAlertView alloc]initWithTitle:@“警报”消息:@“请选择当前日期或过去日期”委托:自取消按钮:@“确定”其他按钮:无];
[警报显示];
[警报发布];
}

否则如果(datetime您可以将
NSDate
s与-[NSDate compare:]进行比较。请尝试以下操作:

if ([dates compare:post] == NSOrderedDescending) {
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Healthcare" message:@"Please select current date or past date" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];
}
else {
    ...
}

您可以设置
UIDatePicker
实例的
minimumDate
maximumDate
属性,用户将别无选择,只能在这些范围内选择日期:)