2012-06-20 27 views
0

我有2個日期選擇器,每一個從以太(280天) 順利改變,但mydatepicker.date當NSlog或將它放在UITextfield之日起開始日期 - 1天或日期+1天UIDatePicker,在UITextView中用作字符串時的+/- 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); 

第二個:

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); 

如果第一個選擇器的日期是12-12-2012 的出來說就是二零一二年十一月十二日

在我的代碼

我給他們的

lastPerPickerView.datePickerMode = UIDatePickerModeDate; 

回答

1

嘗試添加該行代碼,

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT+0:00"]]; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 
+0

不工作! – Mutawe

1

輸出你properity從邏輯上來說是正確的。但是,如果您按照您的要求所需的輸出,我認爲你應該改變值280到279

+0

試過,不工作 – Mutawe

+0

你沒有得到任何日期選擇器的正確答案? – 2012-06-20 08:52:44

+0

不,我沒有得到任何 – Mutawe