2013-07-10 44 views
2

关于stackoverflow的常见问题是如何从一个日期得到年的日期,但如何从日期得到日期?iOS获取日期从年的日期

我正在使用下面的代码来产生年的一天,但我怎么做相反?

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

回答

1

假设你知道你想要的年份和日期的实际时间并不重要,你有正确的语言环境和时区设置,你可以转换年从部件的日和年回到日期。同样,您可能需要确定应用程序需要做什么有关时间组件,并且您必须确保日历和年份对日历实际上有意义,但假设您在示例中列出的公历日历以及第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等时区,我没有配置日历。