2012-03-06 8 views
0
-(IBAction)pickerChanged:(id)sender 
{ 
UIDatePicker *picker = (UIDatePicker *)sender; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
//NSDate *dateSelected is declared in .h file 
self.dateSelected = [picker date]; 
if(self.textField.tag == 101) 
self.textField.text = [dateFormatter stringFromDate:self.dateSelected]; 

nslog(@"date = %@",self.textField.text); 
nslog(@"dateSelected = %@",self.dateSelected); 
} 

textfield.text와 선택한 날짜가 모두 같아야하지만 출력 로그에서 .... 내가 date = 2-1-2012를 얻으면 dateselected = 1-1-2012가 표시됩니다. ... 날짜가 1-1-2012로 저장됩니다. 문제를 파악할 수 없습니다.DatePicker가 이전 날짜를 표시합니다

답변

2

아마도 다른 시간대 때문일 수 있습니다. 그것을 추가, 그것은 나를 위해 작동합니다 :

[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 
0

아래 코드는 나를 도우려는 데 도움이되기를 바랍니다.

-(IBAction)pickerChanged:(id)sender 
{ 
    UIDatePicker *picker = (UIDatePicker *)sender; 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"dd/MM/yyyy"]; 
    //NSDate *dateSelected is declared in .h file 
    if(self.textField.tag == 101){ 
     self.textField.text = [dateFormatter stringFromDate:[picker date]]; 
    } 
    NSLog(@"date = %@",self.textField.text); 
    NSLog(@"dateSelected = %@",[picker date]); 
} 
+0

나를 위해 작동하지 않습니다. –

관련 문제