我試圖重現默認時鐘的某些功能,我讓用戶選擇鬧鐘的重複頻率。問題在於,不同的NSCalendar設置會在一週中爲您提供不同的名稱。如何以一種方式存儲所選星期幾,如果用戶更改其日曆,頻率總是會在一週的正確日期?使用NSDate和NSDateFormatter存儲星期幾的最佳方法
2
A
回答
1
一個解決方案是檢查每次應用程序進入前臺時日曆是否更改,如果是,請從那裏進行適當更改。可能不是最優雅的解決方案,也不是最佳實踐,但它可以完成工作。
-2
以(long) [dateYouWantToRemember timeIntervalSince1970]
並將其存儲在屬性文件或其他類似文件中。 (你可以使用timeIntervalSinceReferenceDate,但1970年的數字是「UNIX紀元日期」和更加規範 - 你可以在網上找到,以檢查它的轉換器。)
後來,(可能)不同的歷下,做[NSDate dateWithTimeIntervalSince1970:theLongYouStored]
你將在新日曆中重建日期。
現在使用NSCalendar/NSDateComponents查找該日期的新的序號星期幾,並使用[NSDateFormatter weekdaySymbols]
來獲取星期幾名稱的列表。使用序號索引列表以獲取新的日期名稱。根據您的應用程序的需要,使用NSDateComponents在您的日期進行算術以選擇一週中某一天的下一個日期。
+0
(對未來的讀者:這個答案只是簡單地被低估了,並且所述downvote並不反映包含在答案中的出色建議。) – 2014-09-05 15:24:55
相關問題
- 1. PHP按位存儲星期的幾天
- 2. 使用NSDate計算基於通用星期幾的時間
- 3. 星期數和星期幾
- 4. 什麼是存儲星座的最佳方式開始和結束日期
- 5. 在PHPMyAdmin字段中存儲星期幾?
- 6. 的NSDate和NSDateFormatter發出
- 7. iOS的NSDate和NSDateFormatter行爲
- 8. NSDateFormatter和NSDate的問題
- 9. 存儲「時間」值的最佳方法
- 10. 存儲mysql密碼的最佳方法?
- 11. 存儲查找值的最佳方法
- 12. xml數據存儲的最佳方法
- 13. 存儲位圖的最佳方法
- 14. 存儲短期使用圖像的最佳做法
- 15. 在MySQL中存儲Hijri日期的最佳方法?
- 16. 在SQL Server中存儲舊日期的最佳方法
- 17. 什麼是存儲截止日期的最佳方法
- 18. 精梳NSString與星期幾和NSDate與時間到一個NSDate對象
- 19. 更改語言爲NSDate星期幾和月
- 20. 測試使用DbContext的存儲庫的最佳方法
- 21. 如何使用NSDateFormatter獲取星期幾並在iOS中顯示使用NSLog?
- 22. vcalendar的星期幾和星期幾的格式
- 23. 使用C#在.Net Compact Framework中存儲值的最佳方法?
- 24. 什麼是存儲幾十列配置值的最佳方式?
- 25. 使用malloc和realloc進行動態存儲的最佳方式
- 26. 如何在objective-c中存儲星期幾和時間?
- 27. 在bootstrap/laravel中輸入和存儲日期的最佳方法是什麼?
- 28. 行星渲染的最佳CLOD方法
- 29. 存儲用戶期望語言的最佳方式
- 30. 如何在iOS中使用NSDate獲取星期幾並使用NSLog?
假設您堅持使用7天的格里曆日曆,只需存儲一週中某天的數值。 – 2014-08-30 20:21:41
@HotLicks問題是我不能堅持一個日曆。我無法可靠地預測人們將會擁有什麼設置。 – InkGolem 2014-08-30 22:11:43
如果你甚至不能假定公曆(即,你甚至不知道它是否是7天的一週),我不知道你如何期望存儲一週中的選定日期。 – 2014-08-30 23:11:11