2013-07-10 222 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等時區,我沒有配置日曆。