2

今月のランダムな日付を取得したい。

月のランダムな日付を取得する簡単な方法はありますか?

4

2 に答える 2

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];

乱数を生成するには、次を使用します

int r = arc4random() % days.length;

そして、日付を作成します

[dateComponents setDay:r];
NSDate *startDate = [calendar dateFromComponents:dateComponents];

お役に立てれば :)

于 2012-07-09T04:42:10.933 に答える