iOS从一年中获取日期

stackoverflow上的常见问题是如何从日期获取日期,但如何从日期获取日期?

我正在使用以下代码生成日期,但如何进行反转?

// Calculate Day of the Year NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSUInteger dayOfYear = [gregorian ordinalityOfUnit:NSDayCalendarUnit inUnit:NSYearCalendarUnit forDate:[NSDate date]]; setDayOfYear = dayOfYear; return setDayOfYear; 

假设您知道所需的年份并且日期的实际时间无关紧要并且您设置了正确的区域设置和时区,则只需将年份和年份的日期从组件转换回日期即可。 同样,您可能需要确定应用程序需要对时间组件执行的操作,并且您必须确保日期和年份实际上对日历有意义,但假设您在示例中列出的格里历日历和第200天2013年(2013年7月19日),您可以这样:

 NSDateComponents* components = [[NSDateComponents alloc] init]; [components setDay:200]; [components setYear:2013]; NSDate* july19_2013 = [gregorian dateFromComponents:components]; 

如果我要运行这个,我会得到一个日期是2013年7月19日@ 07:00,因为我当前的区域设置在等于America / Los_Angeles的时区,我没有配置日历。