0
我正在嘗試做一些簡單的7天曆史繪圖。鑑於目前的NSDate.date
,我想獲得對應於7天前的開始的NSDate。所以基本上是在今天早上0.00前的7天。從7天前開始獲取NSDate
我已經試過,如下:
// decompose the current date, do I need more component fields?
NSDateComponents *comps = [NSCalendar.currentCalendar components: NSDayCalendarUnit fromDate: NSDate.date];
NSLog(@"components: %@", comps);
// Back day up 7 days. Will this wrap appropriate across month/year boundaries?
comps.day -= 7;
NSDate *origin = comps.date;
NSLog(@"new date: %@", origin);
我認爲是由剛剛指定NSDayCalendarUnit
,其他的事情會違約(如一天開始,等)。不幸的是,origin
結束爲(null)
。什麼是正確的方法來做到這一點?
我實際上希望日期是相對於當前時區。 IOW,如果我在PST中,我希望7天前在PST中開始一天。那個'.timeZone'制定者會幫助還是傷害那個? – 2015-02-24 16:32:15
通過反覆試驗回答了我自己的問題。的確,我不想要'.timeZone'集。但'.calendar'是必需的。奇怪的是,你認爲返回組件的日曆會設置它的日曆,因爲它是從它派生出來的。 – 2015-02-24 16:40:46