生成当月的随机日期

RAM*_*ANA 2 iphone objective-c

我想获得当月的随机日期.

有没有简单的方法来获得本月的随机日期?

Div*_*ert 14

NSDate *today = [NSDate date]; 
NSCalendar *calendar = [NSCalendar currentCalendar];
NSCalendarUnit unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit;
NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:today];
NSRange days = [calendar rangeOfUnit:NSDayCalendarUnit 
                       inUnit:NSMonthCalendarUnit 
                      forDate:today];
Run Code Online (Sandbox Code Playgroud)

要生成随机数,请使用

int r = arc4random() % days.length;
Run Code Online (Sandbox Code Playgroud)

然后创建一个日期

[dateComponents setDay:r];
NSDate *startDate = [calendar dateFromComponents:dateComponents];
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助 :)