我试图将UIDatePickers
选择的时间与当前时间进行比较。我最好将UIDatePickers
选择的时间与当前设备上的时间进行比较。这是我尝试过的,但它根本不准确。
NSDate * date = [NSDate date];
NSLog(@"DatePicker.date %@ <= date %@",self.DatePicker.date,date);
if (self.DatePicker.date<=date) {
UIAlertView * alert=[[UIAlertView alloc] initWithTitle:@"Oops!" message:@"Choose a time in the future." delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
return;
}
它退出了;
self.DatePicker.date 2014-09-12 15:15:00 +0000 <= date 2014-09-12 15:03:29 +0000
并显示AlertView
这个时钟似乎还需要一个小时。
答案 0 :(得分:4)
您不能将==
或<=
等标准比较运算符与对象一起使用。您需要使用适当的方法进行比较,例如compare:
。
if ([self.DatePicker.date compare:date] == NSOrderedDescending) {
}
我可能会倒退。它可能需要NSOrderedAscending
。
答案 1 :(得分:0)
timeZone
属性设置为当前时区。NSDate
个对象时,您应该使用compare: