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

How to add Date if today is last day of the month.?

提问人:Anupam Gupta 提问时间:9/23/2016 更新时间:9/23/2016 访问量:79

问:

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

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

iOS iPhone macOS Cocoa、 NSDATE等

评论

0赞 Monah 9/23/2016
显示一些代码。
0赞 Sanjay Kakadiya 9/23/2016
请检查答案。

答:

-1赞 Sanjay Kakadiya 9/23/2016 #1
NSDate *now = [NSDate date];
NSDate *sevenDaysAgo = [now dateByAddingTimeInterval:+7*24*60*60];

在这里添加 7 天添加到您当前的日期

评论

0赞 Anupam Gupta 9/23/2016
我已经遵循相同的代码,但通过添加日期,它也不会改变月份。+(NSDate*)getDateByAdding:(int)dayes daysInTheDate :(NSDate *)givenDate{ return [givenDate dateByAddingTimeInterval:60*60*24*dayes];
0赞 Sanjay Kakadiya 9/23/2016
在您的函数中使用了我的 ANS 并检查。NSDate *now = [NSDate 日期];这里使用了你的日期 NSDate *sevenDaysAgo = [now dateByAddingTimeInterval:+7*24*60*60];
0赞 SKD 9/23/2016
@Anupam Gupta我已经编译了您的方法,并通过添加 9 天和今天日期并得到 2016-09-23 13:07:46.091 RBook[1318:67957] 日期 = 2016-10-02 07:37:45 +0000
1赞 Desdenova 9/23/2016
这是一种非常错误的日历计算方法。应使用日期组件和日期单位。
0赞 Anupam Gupta 9/30/2016
@sailendrak。谢谢,实际上同一个对象是从其他地方更新的,我的方法工作正常。
2赞 Manishankar 9/23/2016 #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]);

评论

0赞 Tom Harrington 9/25/2016
通过使用 方法,可以简化此操作。NSCalendardateByAddingUnit:value:toDate:options: