2014-09-12 121 views
1

我試圖比較UIDatePickers選擇時間與當前時間。我希望比較UIDatePickers選擇的時間與當前設備上的時間。這是我所嘗試過的,但並不準確。試圖將日期選擇器時間與當前時間進行比較ios

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

這個時鐘似乎是一個小時關閉也。

回答

4

您無法使用標準的比較運算符如使用對象==<=等。您需要使用適當的方法進行比較,如compare:

if ([self.DatePicker.date compare:date] == NSOrderedDescending) { 
} 

我可能會倒過來。它可能需要是NSOrderedAscending

+0

感謝您的支持! – DevC 2014-09-12 15:33:05

0
  1. 將您的選取器的timeZone屬性設置爲當前時區。
  2. 當比較NSDate對象,你應該使用compare:
相關問題