如何獲得相對日期
回答
所以,如果你有一個NSDate *today = [NSDate date];
,那麼你可以使用NSDateComponents
來獲得相對日期。
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *today = [NSDate date];
NSDateComponents *yesterdayComponents = [[NSDateComponents alloc] init];
[yesterdayComponents setDay:-1];
NSDate *yesterday = [calendar dateByAddingComponents:yesterdayComponents toDate:today options:0];
[yesterdayComponents release];
NSDateComponents *twoWeeksAgoComponents = [[NSDateComponents alloc] init];
[twoWeeksAgoComponents setWeek:-2];
NSDate *twoWeeksAgo = [calendar dateByAddingComponents:twoWeeksAgoComponents toDate:today options:0];
[twoWeeksAgoComponents release];
等等
NSDateComponents
和NSCalendar
手柄溢和自動溢出(除非你用options:
位將其關閉)。因此,如果今天是「2月28日」,而您想要「明天」,則根據年份自動選擇「2月29日」或「3月1日」。它太酷了。這也是做日期操作的唯一正確方式。
周不會返回corrrectly \t NSDateComponents * TwoWeeksAgoComponents = [組分複製]; \t [TwoWeeksAgoComponents setWeek:[TwoWeeksAgoComponents周] -2]; \t的NSDate * TwoWeeksAgo = [日曆dateFromComponents:TwoWeeksAgoComponents]; \t NSLog([formatter stringFromDate:TwoWeeksAgo]); \t [TwoWeeksAgoComponents發佈]; – Ali 2011-03-22 08:21:52
也NSCalendar取決於ipad日曆,或它總是georgean – Ali 2011-03-22 08:56:48
此代碼不起作用;它總是返回最初的日期。我不得不使用'dateByAddingComponents:toDate:options:'。我假設所有對這個答案的讚揚都來自沒有真正測試代碼的人。 – titaniumdecoy 2012-09-27 21:14:55
- 1. 如何獲得日期
- 2. 如何獲得日期
- 3. 相對日期
- 4. 如何將相對日期轉換爲絕對日期?
- 5. 相對於給定日期得到一天的日期
- 6. 如何獲得相對於指定日期的下一個小時?
- 7. 如何獲得前一年的日期相對於一年的每週
- 8. 如何獲得PHP中兩個日期之間的絕對日期差異?
- 9. 如何獲得最小空閒日期
- 10. 如何獲得日期 - 1年vba
- 11. 如何獲得天的日期
- 12. Android:我如何獲得通話日期?
- 13. 如何獲得兩個日期
- 14. 如何獲得c#的月底日期?
- 15. 如何獲得不重疊的日期?
- 16. 我如何獲得日期差異?
- 17. 如何從日期獲得年份
- 18. 如何獲得UTC在UTC日期
- 19. 如何獲得sas日期格式「YYYYMM」
- 20. 如何獲得日期和時間
- 21. 如何獲得特定日期?
- 22. 如何獲得每週日期
- 23. WordPress的:如何獲得URL的日期?
- 24. 如何獲得下週日期在JavaScript
- 25. 如何獲得的日期時間+分
- 26. SQL Server:如何獲得平均日期
- 27. 如何獲得兩個日期
- 28. 如何從日期獲得微秒?
- 29. 我如何獲得日期驗證?
- 30. 如何獲得未來日期
真的不知道你在問什麼。 – 2011-03-21 16:56:45