2011-08-05 7 views
0

나는 날짜 포맷 문자열을 사용하고 있습니다 오늘 날짜는 Friday/05-08-2011이며, 버튼을 누르면 목요일/04-08-2011이 표시됩니다. 어떻게해야합니까?씩 감소 날짜는

답변

5

코드입니다.

-(IBAction)decrementDate 
{ 
    NSString *dateForDecrement=timeLabel.text; 
    NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
    dateFormatter.dateFormat = @"EEEE/dd-MM-yyyy"; 
    NSDate *dateObjectForDecrement=[dateFormatter dateFromString:dateForDecrement]; 

    NSDate *dateAfterDecrement=[dateObjectForDecrement addTimeInterval:-(24*60*60)]; 
    timeLabel.text = [dateFormatter stringFromDate:dateAfterDecrement]; 
} 
+0

업데이트 된 답변을 확인하십시오. – Ishu

5

트릭은 시간 간격을 사용하는 것입니다. Date and Time Programming Guide에 대한 자세한 정보가 있습니다.

기본적으로 NSDate에는 현재 날짜에 시간 간격을 추가 할 수있는 방법이 있습니다. 어제 날짜를 얻기 위하여

- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds 

, 당신은 그것에서 오늘 날짜를 잡고 (하루에 초 총 #) 24 * 60 * 60을 빼야합니다.

NSDate *today = [NSDate date]; 
NSDate *yesterday = [today dateByAddingTimeInterval: -86400.0]; 

도움이 되셨습니까?

- dateByAddingTimeInterval: 4.0에서 사용할 수있는 이상 당신이 (나중에 4.0에서 사용되지 않음) 낮은 버전 - addTimeInterval을 사용할 수 있습니다 (위의 대답에 추가)이 같은

+0

@Sadumerry : 답변에서 오늘 날짜 대신 ur 날짜를 제공하십시오. timeInterval을 뺀 날짜를 업데이트하십시오. – visakh7