2012-04-10 7 views
0

現在の日付の00:00:00にDatePickerの時刻を設定するにはどうすればよいですか?DatePickerの時刻を設定する

- (void) awakeFromNib 
    { 
     [datePicker setDateValue:[NSDate date]]; 
     NSDate *now = [NSDate date]; 
     int daysToAdd = 364; 
     NSDate *newDate1 = [now dateByAddingTimeInterval:60*60*24*daysToAdd]; 
     [datePicker1 setDateValue:newDate1]; 
    } 
+0

http://stackoverflow.com/questions/5358678/how-do-を参照してください。 i-set-an-existing-nsdates-time – Glenn

答えて

3

あなたは二つの異なるdatePickersを持っているように見えます

うんざり? datePickerdatePicker1?どうしたの?

また、これはあなたが期待している何をしていません。将来的には丁度31449600秒で新しい日付を作成している

NSDate *newDate1 = [now dateByAddingTimeInterval:60*60*24*364]; 

を。それ以外のことはではなく、です。

何がやりたいことは、現在の日付からの日付のすべてのコンポーネントを抽出し、それらをゼロである:

NSDate *now = [NSDate date]; 
NSDateComponents *nowComponents = [[NSCalendar currentCalendar] components:(NSEraCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:now]; 

// technically these next lines are unnecessary, since we only pulled out the era-year-month-day, but they're included here for understanding/completeness: 

[nowComponents setHour:0]; 
[nowComponents setMinute:0]; 
[nowComponents setSecond:0]; 

// now we can turn it back into a date: 

NSDate *todayAtMidnight = [[NSCalendar currentCalendar] dateFromComponents:nowComponents]; 
+0

ありがとうございます、あなたは非常に明確です。 – Andrea

関連する問題