2011-08-26 11 views
0

Im 날짜와 시간 picker.us를 사용하여 아래 코드를 사용하여 선택기에서 시간과 날짜를 가져오고 콘솔에 현재 날짜와 시간을 표시하고 있습니다.선택기에서 선택한 날짜와 시간과 현재 날짜와 시간을 비교합니다.

- (void)eventForDatePicker:(id)sender { 



    UIDatePicker *datePicker = (UIDatePicker *)sender; 

    NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
    df.dateStyle = NSDateFormatterMediumStyle; 
    [df setDateFormat:@"yyyy-MM-dd HH:mm"]; 
    // [df setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 
// [df setDateFormat:@"dd hh-mm-ss"]; 

    // message = [[NSString alloc] initWithFormat:@"%@", df]; 

    message = [NSString stringWithFormat:@"%@", 
          [df stringFromDate:datePicker.date]]; 
    NSLog(@"%@sssssssssssssssssfff",message); 



    NSUserDefaults *prefs4 = [NSUserDefaults standardUserDefaults]; 
    [prefs4 setObject:message forKey:@"name"]; 
    [prefs4 synchronize]; 




-(void)switchChanged:(id)sender { 

NSUserDefaults *prefs5 = [NSUserDefaults standardUserDefaults]; 
     NSString *mess = [prefs5 stringForKey:@"name"]; 



     [datearray addObject:mess]; 



     NSLog(@"is isssssss%@",datearray); 


     NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults]; 

     [currentDefaults setObject:[NSKeyedArchiver archivedDataWithRootObject:datearray] forKey:@"datesaving"]; 
     [currentDefaults synchronize]; 



}  

    //Now in anotherview , retrieving the contents in date array and by calling a function a text is displaying. 
    NSDate* date = [NSDate date]; 

    //Create the dateformatter object 

    NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease]; 

    //Set the required date format 

    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"]; 

    //Get the string date 

    str = [formatter stringFromDate:date]; 

    //Display on the console 

    NSLog(@"fdf %@",str); 




    NSUserDefaults *currentDefaults2 = [NSUserDefaults standardUserDefaults]; 
    NSData *dataRepresentingSavedArray = [currentDefaults2 objectForKey:@"datesaving"]; 
    NSMutableArray *oldSavedArray = [NSKeyedUnarchiver unarchiveObjectWithData:dataRepresentingSavedArray]; 

    if(oldSavedArray!=nil){ 
    datess = [[NSMutableArray alloc] initWithArray:oldSavedArray]; 


    } 





     NSLog(@"%doooooooooooooooo",[datess count]); 

     NSLog(@"%@llllllllllll111111111111",datess); 





-(void)check1 
{ 
     //NSLog(@"%@llllllllllll",[datess objectAtIndex:0]); 


    for(int j=0;j<[newinx count];j++) 
    { 


     if([str isEqualToString:[datess objectAtIndex:j]]) 
     { 


       //tv.text =[Tips objectAtIndex:day]; 
      [email protected]"helloo"; 

     } 

그러나이 비교는 작동하지 않습니다. 누구든지 나를 기쁘게 도와 드릴 수 있습니다. 감사합니다. 미리 감사드립니다.

+0

이있는 당신이 배열에 추가하고 사용자 기본값으로 저장 코드를 붙여? – saadnib

+0

NSLog (@ "issssssss % @", datearray); NSUserDefaults * currentDefaults = [NSUserDefaults standardUserDefaults]; [currentDefaults setObject : [NSKeyedArchiver archivedDataWithRootObject : datearray] forKey : @ "datesaving"]; [currentDefaults synchronize]; – ishhhh

+0

@ saadnib, 이것은 배열에 저장하는 방법입니다 – ishhhh

답변

0

왜 을 NSLog(@"kykykykyky%d",[[datess objectAtIndex:0]intValue]);에 넣었습니까? NSUserdefaults에서 메시지 문자열을 제대로 저장했다면 제거해야한다면 이전과 같은 문자열을 출력해야합니다.

+0

@ thanks.can 당신이 내게 말해 줄 얼마나 – ishhhh

0

NSDate 개체를 저장하면 UIDatePicker에 의해 NSUserDefaults에 반환됩니다. 비교를 위해 &을 사용하십시오. 보관을하지 않아도됩니다. 훨씬 더 간단해질 것입니다.

표시하려는 경우에만 NSDateFormatter으로 변환하십시오. 당신이 다음이에 대한 NSDateFormatter를 사용 NSDate 객체에 변환하려는 경우

0
NSDate *now = [NSDate date]; 
Compare the 2 dates with: 

    if ([d compare:now] == NSOrderedDescending) { 
     // d is later than now 
    }else{ 
     // d is earlier than or equal to now 
    } 
0
여기

당신이 잘못 가고있다 ...

NSLog(@"kykykykyky%d",[[datess objectAtIndex:0]intValue]); 

당신의 datess 배열은 문자열 개체가 포함되어 있습니다.

먼저 NSLog로 datess 배열에서 객체 -

NSLog(@"date str = %@",[datess objectAtIndex:0]); 

가 제대로 저장되는 날짜 문자열을 확인합니다.

는 그런 다음 NSDateFormatter 객체를 만들고로서의 날짜 형식을 설정 -

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 

[dateFormatter setDateFormat:@"MM-dd-yyyy hh:mm a"]; 

하거나 개미 형식 스타일을 사용할 수 있습니다. 그런 다음 당신에게 NSDate 객체를 줄 것이다이 NSDateFormatter

NSDate *date = [dateFormatter dateFromString:[datess objectAtIndex:0]]; 
사용하여 NSDate 개체를 확인합니다. 이 NSDate 객체를 비교

사용 - 당신이 수 plz 수

- (BOOL)date:(NSDate*)date isBetweenDate:(NSDate*)beginDate andDate:(NSDate*)endDate 
{ 
    if ([date compare:beginDate] == NSOrderedAscending) 
     return NO; 

    if ([date compare:endDate] == NSOrderedDescending) 
     return NO; 

    return YES; 
} 
+0

@ saadnib.thanks 당신의 위대한 hand.what에 대한 모든 날짜와 시간을 절약하고 배열 및 검색 여부를 현재 및 그 배열에있는 시간과 지역 알림을 발사하는 경우. – ishhhh

+0

@ saadnib.is 거기 뭐가 잘못 됐어. – ishhhh

+0

거기에는 아무런 문제가 없지만 배열에 날짜와 시간을 저장하는 형식으로 동일한 형식으로 날짜를 지정한다는 것이 한 가지를 처리해야합니다. – saadnib

관련 문제