2012-03-06 114 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和日期選擇應該是相同的,但在輸出日誌....如果我得到日期= 2-1-2012我得到dateselected = 1-1-2012 ...和日期被保存爲1-1-2012.i我無法找出問題。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

它不適合我。 – 2012-03-13 12:45:51

相關問題