0
我瀏覽過了stackoverflow,但沒有一個解決方案沒有正常工作。 我想生成每月的天NSDate的陣列,這是我使用的代碼(年份和月份硬編碼現在):每月的每一天的NSDate
NSCalendar *c = [NSCalendar currentCalendar];
NSRange days = [c rangeOfUnit:NSCalendarUnitDay
inUnit:NSCalendarUnitMonth
forDate:today];
for (int i = 1; i <= days.length; i++) {
NSDateComponents *dc = [NSDateComponents new];
[dc setYear:2015];
[dc setMonth:12];
[dc setDay:i];
NSDate *d = [calendar dateFromComponents:dc];
[arrayDates addObject:d];
}
的問題是,第一對象將永遠是(上月最後一天):
2015-11-30 23:00:00 +0000
,最後會(不是當月的最後一天) 2015-12-30 23:00:00 +0000
我試過設置不同的區域設置,日曆選項,但沒有幫助.. 有什麼想法?
謝謝
您好!謝謝你的回答,但是當你設置月份:12,但是嘗試設置月份:11,你會得到31天,這是錯誤的,應該是30天。 – zevonja
我期望這是因爲'days'是使用一個名爲'today'的變量來計算的,我想像的是今天 - 也就是12月的一天。 – TwoStraws
你是絕對正確的,我需要一個明確的休息時間。謝謝! – zevonja