iOS从一年中的某一天开始获取日期

iOS从一年中的某一天开始获取日期,ios,nscalendar,Ios,Nscalendar,stackoverflow的常见问题是如何从一个日期获取一年中的某一天,但如何从一年中的某一天获取日期 我使用下面的代码来生成一年中的某一天,但是如何做相反的事情呢 // Calculate Day of the Year NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSUInteger dayOfYear = [gregorian ord

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;

假设您知道您想要的年份,并且日期的实际时间无关紧要,并且您已经设置了正确的区域设置和时区,那么您可以将一年中的日期从组件转换回日期。同样,您可能需要决定您的应用程序需要对时间组件做些什么,并且您必须确保日期和年份对于日历来说是有意义的,但是假设您在示例中列出的公历以及2013年的第200天(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,因为我当前所在的地区是美国/洛杉矶的时区,我没有配置日历