私は2つの日付ピッカーを持っています。それぞれがエーテル(280日)とは異なり、ピッカーは正しく変更されますがmydatepicker.date
、NSlogを実行するか、日付に入れると、UITextfield
日付-1日または日付+1日になります。
これが私のコードです:
最初のピッカー:
int daysToAdd = -280;
// set up date components
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
[components setDay:daysToAdd];
// create a calendar
NSCalendar *addingdays = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *newDate = [addingdays dateByAddingComponents:components toDate:dueDatePickerView.date options:0];
lastPerPickerView.date = newDate;
NSLog(@"%@",newDate);
2つ目:
int daysToAdd2 = 280;
// set up date components
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease];
[components setDay:daysToAdd2];
// create a calendar
NSCalendar *addingdays2 = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *newDate2 = [addingdays2 dateByAddingComponents:components toDate:lastPerPickerView.date options:0];
dueDatePickerView.date = newDate2;
NSLog(@"%@",newDate2);
最初のピッカーの日付が2012年12月12日の場合、出力は2012年11月12日です。
私のコードでは、私は彼らに
lastPerPickerView.datePickerMode = UIDatePickerModeDate;