回答
很方便,NSCalendar會爲你做所有的數學。首先,設置使用NSDateComponents參數:
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setWeek:24];
[comps setWeekday:3]; //map weekday names to numbers (e.g., Sunday is 1)
[comps setYear:2012];
然後創建與最新組件公曆:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
而且抓住你的NSDate:
NSDate *date = [gregorian dateFromComponents:comps];
它的工作原理!謝謝! :) – Oleg
正如我上面寫的你的解決方案工作正常!但現在我遇到了另一個問題 - 它檢測到前一天的日期:2012-06-11 22:00:00 +0000而不是2012-06-12 00:00:00。我認爲這是與時區有關的東西。我所有的日期應該在GMT + 2時區。你能幫忙嗎? – Oleg
好問題。處理時區是棘手的,取決於你想要做什麼,但如果你不關心時間,只想要日期,我認爲一個簡單和安全的解決方法是在GMT(+0000)中工作。爲此,請在獲取日期前添加以下行:'[gregorian setTimeZone:[NSTimeZone timeZoneWithName:@「GMT」]];'。這適用於我,但其他人可能會有更好的答案。 –
NSDate *now = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comp = [gregorian components:NSYearCalendarUnit fromDate:now];
[comp setWeek:24];
[comp setDay:1];
NSDate *resultDate = [gregorian dateFromComponents:comp];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMM d, yyyy"];
NSString *myDateString = [formatter stringFromDate:resultDate];
[gregorian release]; // Clean up allocated objects by releasing them
[formatter release];
NSString * date = [NSString stringWithFormat:@"Week of %@", myDateString];
- 1. 按日期計算週數
- 2. 計算一週中某天的日期
- 3. 計算本週的下一個日期
- 4. 計算開始日期的週數
- 5. Javascript「週末」日期計算?
- 6. 如何根據日期計算「週數」?
- 7. 從日期列SQL計算週數
- 8. 計算第一天從給定的週數中得到一週的日期
- 9. 上週一和上週日日期起計算
- 10. 在JavaScript中計算工作日週期
- 11. 從DateTime對象計算週一至週日的星期
- 12. 計算結束日期與禁用日期週數和
- 13. 計算每週計劃的日期範圍內的預定日期的數量
- 14. 我想計算週六和週日的日期範圍
- 15. 計算下一個X週週開始/結束日期
- 16. 計算CUDA內核中的週期數
- 17. 計算本週日期範圍
- 18. 根據周差計算出日期
- 19. 如何計算結算週期的日期php範圍?
- 20. 根據php中的開始日期計算日期並返回週數?
- 21. 如果輸入是日期和週末日(週日,週一,週三,週三,週四,週五或週四),如何計算週末日期
- 22. 計算天,不算週六和週日
- 23. iOS計算UTC上週日中午的日期戳
- 24. 如何替換週六或週日前五週的計算日期
- 25. 從日數計算日期?
- 26. 選擇函數中一週中計算日期定義的列名稱
- 27. 包含日期的週數計數器
- 28. 計算日曆周的第一天
- 29. 計算日期給出兩個日期不包括週末
- 30. 如何用PHP計算下週一的日期?
這可能會給你一個指針http://stackoverflow.com/questions/2466022/how-to-find-weekday-from-todays-date-in-iphone-sdk – geminiCoder