如果今天是该月的最后一天,如何添加日期。?

时间:2016-09-23 07:27:58

标签: ios iphone macos cocoa nsdate

我遇到了一个问题,我需要在7天之前创建一个步进器。我为此编码,但是在月份的最后几天,它将在同一个月继续,而不是在下个月也应该更改。 同年需要实施相同的案例。

例如,如果今天是2016年12月30日,则添加7天需要更改为2017年1月7日。提前致谢。

2 个答案:

答案 0 :(得分:2)

试试这个。在这里,我从特定日期起增加了7天。

    // Enter current date
    NSString *currentDate = @"2016-12-30";

    // Set number of days to add
    int addDaysCount = 7;

    // Set date formatter
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];

    // Convert string to NSDate
    NSDate *dateFromString = [dateFormatter dateFromString:currentDate];

    // Initialize date component
    NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
    [dateComponents setDay:addDaysCount];

    // Retrieve date with increased days count
    NSDate *newDate = [[NSCalendar currentCalendar]
                       dateByAddingComponents:dateComponents
                       toDate:dateFromString options:0];

    NSLog(@"Current date: %@", [dateFormatter stringFromDate:dateFromString]);
    NSLog(@"Updated date: %@", [dateFormatter stringFromDate:newDate]);

答案 1 :(得分:-1)

padding

此处添加7天添加到您当前的日期