我有兩個字符串來自我的服務器,其中存儲了時間,我需要比較兩者之間的時間間隔(以分鐘爲單位),如果需要,則以小時。我應該轉換爲NSDate
還是使用NSString
?獲取目標C中兩個NSString之間的差異時間
的NSString
看看這樣的:
NOW 14:22
LAST TIME 10:18
編輯#1 因爲每個人都在說我使用NSDate的,我轉換的數據在我的數據庫,以DATETIME,現在我可以使用兩個NSDate的比較下面的代碼:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"pt_BR"]];
[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
NSDate *currentDateTimeWithOffset = [NSDate dateWithTimeIntervalSinceNow:[[NSTimeZone localTimeZone] secondsFromGMT]];
NSString *strDate = [dateFormatter stringFromDate:currentDateTimeWithOffset];
NSDate * now = [dateFormatter dateFromString:strDate];
NSDate *date = [dateFormatter dateFromString:@"2013-04-09 12:10:18"];
NSLog(@"Difference %f",[now timeIntervalSinceDate:date]);
而結果是:
Difference 864.000000
NOW 2013-04-09 15:24:42 +0000
LAST DATE 2013-04-09 12:10:18
這是正確的嗎?差異在幾秒鐘內?
您有大約5個不同的選項。最簡單的是自己破解格式。或者你可以使用NSDateFormatter,有或沒有NSCalendar。如果你等待足夠長的時間,有人可能會提出一個正則表達式版本。如果您使用NSDateFormatter/NSCalendar,請注意時區陷阱。 – 2013-04-09 17:35:09