回答
使用NSCalendar
小號components:fromDate:
得到兩個日期的components。
然後根據需要使用dateFromComponents:
重新組合它們。
如果我得到你的權利NSDate
小號-dateByAddingTimeInterval:
與-timeIntervalSinceDate:
在一起是你在尋找什麼。
心連心
-f
我有兩個NSDate,日期和時間。
聽起來像你會錯誤的。
NSDate代表特定時刻(自紀元起X秒)。一個NSDate不是簡單的「x點」或「日曆上的這個日期」,你不應該試圖將它們結合起來,就好像它們一樣,因爲諸如DST之類的效果可能會使你的計算錯誤(在某些時區,某些日期有兩個1:00小時,有些沒有2:00小時)。
考慮使用NSDatePicker或UIDatePicker(如適用)讓用戶從一個地方輸入日期和時間。這不僅對你來說更容易,它也會給出更正確的結果。
如果您正在從文件或類似來源分別讀取這兩部分,並且您不控制格式(因此您無法命令生成端以其一次值的時間發佈日期),那麼您需要做以下兩件事之一:
如果可能的話,結合這兩個字符串。例如,可以將ISO 8601日期(例如「2010-05-10」)和ISO 8601時間(例如「23:20:19-0700」)與它們之間的「T」連接以形成有效,完全指定的ISO 8601日期(「2010-05-10T23:20:19-0700」)。然後,您可以將此單個字符串傳遞給正確配置的NSDateFormatter。
如果出於某種原因無法合理組合字符串,請自行解析並自行填寫單個NSDateComponents對象。
這並不令人愉快,但正確性很重要,而且只有一些用戶每年僅在兩個小時內發生的錯誤(不正確的日期解析)纔會令人生氣。
目標是生成一個完全描述相關日期和時間的NSDate對象。這是確保在任何情況下都能得到正確的NSDate值的唯一方法。
- 1. Objective-C中添加兩個NSDate
- 2. 添加一個月到NSDate
- 3. 添加天的NSDate
- 4. 如何添加一個Int到NSDate?
- 5. NSCalendar將半個月添加到NSDate中
- 6. NSDate dateFromString添加多個日期
- 7. 將30秒添加到NSDate
- 8. 添加時間到NSDate
- 9. NSDate,比較兩個日期
- 10. 問題有兩個NSDate的
- 11. 比較兩個NSDate失敗
- 12. 添加兩個MKPolylineView
- 13. 添加兩個表
- 14. NSDate的錯誤輸出時添加一天的NSDate
- 15. 如何增加一個NSDate
- 16. CoreData - 添加個月的#到的NSDate一個NSPredicate
- 17. 在NSDate中添加/減去分鐘
- 18. 將持續時間添加到NSDate
- 19. 如何將小時添加到NSDate?
- 20. NSDate:根據時間添加一天
- 21. 將90分鐘添加到NSDate
- 22. 無法將NSDate添加到NSDictionary
- 23. 轉換NSString到NSDate,添加時間
- 24. 當我添加的時間間隔的NSDate它不會添加
- 25. 兩個NSDate之間的日期比較
- 26. 將兩個字符串轉換爲NSDate
- 27. 兩個NSDate對象之間的天數
- 28. NSDate在兩個給定的NSDates之間
- 29. 兩個數據表添加
- 30. 向JLayeredPane添加兩個JPanel
謝謝,這工作得很好:-) – niklassaers 2010-05-10 19:29:29