[英]How to translate a NSString object to NSDate quickly?
我嘗試從sqlite獲取的NSString獲取NSDate對象,但是存在時間問題。 每次我需要130毫秒。 而且我要處理200個對象,這是無法忍受的。 所以有人可以告訴我該怎么做。 謝謝。
假設您使用的是NSDateFormatter
,則應NSDateFormatter
Apple的建議,即緩存格式化程序以提高效率 。 而不是每次要轉換日期時都創建NSDateFormatter
,而應保留NSDateFormatter
的單個實例。 從數據格式指南 :
緩存格式化程序以提高效率
創建日期格式器並不是一項便宜的操作。 如果您可能經常使用格式化程序,則緩存單個實例通常比創建和處置多個實例更為有效。 一種方法是使用靜態變量。
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;
我認為此代碼塊將幫助您:
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值。
讓我知道您是否遇到任何問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.