1
例如,我有一年中的一天346. 我想讓NSDate到現在這個月的日期。從今年的某天獲得NSDate
例如,我有一年中的一天346. 我想讓NSDate到現在這個月的日期。從今年的某天獲得NSDate
你的腳步在這裏:
小心看看您得到的日期是基於0還是1。
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:theYear];
[comps setMonth:1];
[comps setDay:1];
NSDate *date = [gregorian dateFromComponents:comps];
[comps release];
NSDateComponents *compsToAdd = [[NSDateComponents alloc] init];
[comps setDay:theDay-1];
NSDate *finalDate = [gregorian dateByAddingComponents:compsToAdd date options:0];
[compsToAdd release]
NSDateComponents *interestingComponents = [gregorian components:(NSDayCalendarUnit | NSMonthCalendarUnit) fromDate:finalDate];
NSInteger day = [interestingComponents day];
NSInteger month = [interestingComponents month];
[gregorian release];
查看NSCalendar
的-dateByAddingComponents:toDate:options:
方法。