我試圖從sqlite中獲取NSString的NSDate對象,但是有時間問題。我每次需要130ms。因爲我有兩百件物品需要處理,所以這是無法忍受的。那麼有人可以告訴我我該怎麼做。謝謝。如何快速將NSString對象轉換爲NSDate?
-1
A
回答
4
假設您使用的是NSDateFormatter
,您應該注意Apple的建議,緩存格式化程序以提高效率。每次要轉換日期時,都應該保留NSDateFormatter
的單個實例,而不是創建NSDateFormatter
。從Data Formatting guide:
緩存格式化程序對效率
創建的日期格式是不是一個便宜的操作。如果您很可能經常使用格式化程序 ,那麼緩存 單個實例比創建和處理多個實例通常更高效。 一種方法是使用靜態變量。
+0
我正在使用NSDateFormatter並每次創建它。當我使用全局NSDateFormatter對象時,只需88ms即可轉換20個NSString對象。非常感謝你! – wcrane
0
NSDateFormatter *formatter=[[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HH:mm:ss:SSS"];
NSDate *currentdate=[formatter dateFromString:currentdateStr];
//it returns DateObject If String in Specified Format otherwise Returns nil;
0
我覺得這個代碼塊將幫助您:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"<Add Your Date Format>"];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponent = [calendar components:NSYearCalendarUnit
|NSMonthCalendarUnit
|NSDayCalendarUnit
fromDate:[dateFormatter dateFromString: <Add Your Date String> ]];
[dateComponent setHour:24];
[dateComponent setMinute:00];
[dateComponent setSecond:00];
<Your NSDate Object> = [calendar dateFromComponents:dateComponent];
這可能需要改變dateComponent值時,分,秒 - 根據您的日曆時間。
讓我知道你是否面臨任何問題..
相關問題
- 1. 將NSString轉換爲NSDate
- 2. 將NSString轉換爲NSDate
- 3. 將NSString轉換爲NSDate
- 4. 將所有NSDate對象轉換爲NSString對象的數組
- 5. 如何將NSDate轉換爲NSString?
- 6. 如何將一個NSString轉換爲NSDate?
- 7. 如何將NSString轉換爲NSDate?
- 8. 如何將NSString轉換爲NSDate?
- 9. iOS:如何將NSString轉換爲NSDate?
- 10. 如何將NSString轉換爲NSDate?
- 11. 將NSString(例如:「2300」)轉換爲NSDate(iOS)
- 12. 無法轉換的NSString的NSDate對象
- 13. 將NSString轉換爲NSDate格式?
- 14. 無法將NSString正確轉換爲NSDate
- 15. 用新格式將NSString轉換爲NSDate
- 16. iOS將NSString轉換爲NSDate總是零
- 17. 將NSString轉換爲NSDate和timeZone?
- 18. 使用小bug將NSDate轉換爲NSString
- 19. 無法將NSString轉換爲NSDate
- 20. 將日期的NSString轉換爲NSDate
- 21. 將NSString轉換爲NSDate返回零
- 22. 將NSString轉換爲NSDate。 1天丟失
- 23. 轉換NSDate到NSString
- 24. 轉換:NSString到NSDate
- 25. 轉換NSString到NSDate
- 26. NSString到NSDate轉換
- 27. 轉換NSString-> NSDate?
- 28. 如何快速將對象[,]轉換爲double [,]?
- 29. 如何將列表(對象)快速轉換爲列表(「Object.field」)?
- 30. 將字符串轉換爲NSDate對象
請給我們看你的代碼。你每次創建一個新的'NSDateFormatter'嗎?初始化日期格式化程序的代價很高,因此只應該只執行一次,並在輸入格式不更改的情況下重用它。 –