我將如何能夠確定某個NSDate對象是否屬於某一天?由於所有日期均按照GMT時區計算,因此日期實際上可能在8日而不是9日。計算諸如日,月,星期幾等時間差時最好的方法是什麼?確定一個NSDate對象的日期組件(時區問題)
1
A
回答
2
一個NSDate
是一個絕對時間點。當你想知道它落在哪一天時,你必須考慮你的具體時區。既然你有NSCalendar
得到NSDateComponents
,您可以使用setTimeZone:
在日曆上獲得的組件(月,日,小時等),您感興趣的時區。
如果您應對「日曆日期「(即應始終代表特定日期/月份的日期,而不是絕對時間點),則始終可以使用固定時區(例如GMT)來顯示日期。 NSDateFormatter
(用於向用戶顯示日期)還具有timeZone
屬性。
1
你需要用它來打破日起部分之前設置所需的時區中NSCalendar
:
NSCalendar* gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
[gregorian setTimeZone:[NSTimeZone localTimeZone]]; // or timeZoneWithName:@"GMT" etc.
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents* compsDate = [gregorian components:unitFlags fromDate:date];
// [compsDate year] [compsDate month] [compsDate day]
相關問題
- 1. 的NSDate從一個日期組件和從其他的NSDate
- 2. 將1個時區的NSString日期轉換爲另一個時區的NSDate對象
- 3. 日期對象的問題
- 4. Python - Windows機器中的日期對象 - 時區問題
- 5. 日期時區問題
- 6. javascript日期時區問題
- 7. Android日期時區問題
- 8. 比較日期的問題 - NSDate
- 9. 問題一個字符串日期轉換成NSDate的
- 10. 將NSDate設置爲特定的日期,時間和時區
- 11. strtotime不從日期時間正確的時區對象
- 12. 日曆/日期時區轉換問題
- 13. 創建NSDate的時區問題
- 14. CRM OData日期時間時區問題
- 15. 區 - 日期和時間的問題
- 16. Cocoa中的日期和時區問題
- 17. 確定一個字符串可能是一個日期時間對象
- 18. 如何創建一個完整的NSDate對象來表示下一個指定的日期時間?
- 19. 獲得一個NSDate日期的日期從一個類別中
- 20. 從ISO 8601字符串創建一個NSDate對象的問題
- 21. R:xts對象 - 確定第一個數據點的日期
- 22. 如何區分日/夜與[NSDate日期]?
- 23. NSDateFormatter問題,當日期字符串從字符串轉換成NSDate的對象
- 24. Javascript日期問題,不正確的時區
- 25. 在特定時區的開始日期獲取時間對象
- 26. 根據時區創建NSDate對象
- 27. 對於特定日期,NSDate爲空
- 28. jquery日期 - 確定一個星期日?
- 29. 精梳NSString與星期幾和NSDate與時間到一個NSDate對象
- 30. iOS 7日期時區問題
我剛去的StackOverflow問這個問題了,然後我看到它在頭版... ! – gcamp
你是什麼意思的時區帳戶?一個NSDate表示一個有限的時刻。請提供一個你想要做什麼以及潛在問題是什麼的例子。 – Moshe