上記のページに示すように、ラベルに日付 (デフォルトでは現在の日付) があります。MM dd の形式で。
翌日と前日の日付を変更するための2つのボタンがあります。
これらのボタンを使用して日付を変更するにはどうすればよいですか?
チュートリアル/アドバイス (これに日付ピッカーが関与しているとは思わない)
上記のページに示すように、ラベルに日付 (デフォルトでは現在の日付) があります。MM dd の形式で。
翌日と前日の日付を変更するための2つのボタンがあります。
これらのボタンを使用して日付を変更するにはどうすればよいですか?
チュートリアル/アドバイス (これに日付ピッカーが関与しているとは思わない)
これらの 2 つの関数を使用して、前の日付と次の日付を取得し、返された日付を使用して、月と年のみを使用してラベルに表示します。
+ (NSDate *) getDate:(NSDate *)fromDate daysAgo:(NSUInteger)days
{
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
dateComponents.day = -1*days;
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *previousDate = [calendar dateByAddingComponents:dateComponents
toDate:fromDate
options:0];
[dateComponents release];
return previousDate;
}
+ (NSDate *) getDate:(NSDate *)fromDate daysAhead:(NSUInteger)days
{
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
dateComponents.day = days;
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *previousDate = [calendar dateByAddingComponents:dateComponents
toDate:fromDate
options:0];
[dateComponents release];
return previousDate;
}
これらの方法を試してください
- (NSDate *) dateByAddingDays: (int) dDays : (NSDate*)presntdate
{
NSTimeInterval aTimeInterval = [presntdate timeIntervalSinceReferenceDate] + 86400 * dDays;
NSDate *newDate = [NSDate dateWithTimeIntervalSinceReferenceDate:aTimeInterval];
return newDate;
}
- (NSDate *) dateBySubtractingDays: (int) dDays : (NSDate*)presntdate
{
return [self dateByAddingDays: dDays*-1 :presntdate];
}