NSDateCompomentsのおかげでインクリメント/デクリメントされるNSDateを使用しています。
dateComponents = [[NSDateComponents alloc] init];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:[NSDate date] options:0];
..。
[dateComponents setDay:1];
self.date = [gregorian dateByAddingComponents:dateComponents toDate:self.date options:0];
[dateComponents setDay:0];
ここで、NSDateを月の最初(およびその年の最初の月)に設定する日を設定したいのですが、その方法がわかりません。
どうもありがとう!!!
編集:
NSDateComponents *dateComponentsSetFirst = [gregorian components:( NSYearCalendarUnit |
NSMonthCalendarUnit | NSDayCalendarUnit ) fromDate:self.date];
switch (self.segmentedControl.selectedSegmentIndex) {
case 0:
requestTy = @"hours";
break;
case 1:
requestTy = @"days";
NSLog (@"avant %@",self.date);
[dateComponents setDay:1];
self.date = [gregorian dateFromComponents:dateComponentsSetFirst];
[dateComponents setDay:0];
NSLog (@"après %@",self.date);
break;
case 2:
requestTy = @"months";
NSLog (@"before %@",self.date);
[dateComponents setMonth:1];
self.date = [gregorian dateFromComponents:dateComponentsSetFirst];
[dateComponents setMonth:0];
NSLog (@"after : %@",self.date);
break;
default:
break;
}
ください
2011-08-17 11:23:34.365 e-mars[20942:207] avant 2011-08-17 09:23:30 GMT
2011-08-17 11:23:34.366 e-mars[20942:207] après 2011-08-16 22:00:00 GMT
ケース1に合格すると!
と
2011-08-17 11:26:05.747 e-mars[20942:207] before 2011-08-16 22:00:00 GMT
2011-08-17 11:26:05.747 e-mars[20942:207] after : 2011-08-16 22:00:00 GMT
ケース2に合格すると!