0

提供截图

如上页所示,我在标签上有一个日期(默认为当前日期)。格式为 MM dd。

我有两个按钮可以更改第二天和前一天的日期。

我应该如何使用这些按钮来实现更改日期?

任何教程/建议(我不认为 datepicker 参与其中)

4

2 回答 2

1

使用这两个函数获取上一个日期和下一个日期,然后使用返回的日期并仅使用月份和年份显示在标签上。

+ (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 回答