0

提供されるスクリーンショット

上記のページに示すように、ラベルに日付 (デフォルトでは現在の日付) があります。MM dd の形式で。

翌日と前日の日付を変更するための2つのボタンがあります。

これらのボタンを使用して日付を変更するにはどうすればよいですか?

チュートリアル/アドバイス (これに日付ピッカーが関与しているとは思わない)

4

2 に答える 2

1

これらの 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;
}
于 2013-01-28T10:04:28.357 に答える
-1

これらの方法を試してください

- (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];
}
于 2013-01-28T10:08:41.873 に答える