I'm獲得的日期和時間,從一個JSON飼料。我需要找到我從Feed獲取的日期與今天的日期和時間之間的差異。任何建議如何我可以做到這一點?
我知道我需要從當前日期中減去當前日期,但我不知道該怎麼做。
例如:從飼料
日期:Date: 2011-06-10 15:00:00 +0000
今天:Date: 2011-06-10 14:50:00 +0000
我需要顯示不同的是十分鐘。
謝謝!
I'm獲得的日期和時間,從一個JSON飼料。我需要找到我從Feed獲取的日期與今天的日期和時間之間的差異。任何建議如何我可以做到這一點?
我知道我需要從當前日期中減去當前日期,但我不知道該怎麼做。
例如:從飼料
日期:Date: 2011-06-10 15:00:00 +0000
今天:Date: 2011-06-10 14:50:00 +0000
我需要顯示不同的是十分鐘。
謝謝!
使用的NSDate的-dateWithString:
,然後用
NSTimeInterval diff = [date2 timeIntervalSinceDate:date1];
謝謝你,它的工作原理! – Magnus 2011-06-10 13:04:11
從下面的代碼中,您將得到一個比較兩個NSDate
對象的想法。
NSDate *dateOne = [NSDate dateWithString:@"2011-06-10 15:00:00 +0000"];
NSDate *dateTwo = [NSDate dateWithString:@"2011-06-10 14:50:00 +0000"];
switch ([dateOne compare:dateTwo])
{
case NSOrderedAscending:
NSLog(@」NSOrderedAscending」);
break;
case NSOrderedSame:
NSLog(@」NSOrderedSame」);
break;
case NSOrderedDescending:
NSLog(@」NSOrderedDescending」);
break;
}
看看這篇文章http://stackoverflow.com/questions/5562594/difference-between-two-nsdate-objects-result-also-a-nsdate – Jhaliya 2011-06-10 13:03:30
您需要在嘗試前輸入日期轉換爲NSDate
對象獲取兩個的NSDate對象的差異創建自要把兩個NSDate的對象和比較。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss +0000"];
NSDate *startDate = [dateFormatter dateFromString:yourJSONDateString];
NSDate *endDate = [NSDate date];
CGFloat minuteDifference = [endDate timeIntervalSinceDate:startDate]/60.0;
格式化assumses的UTC偏移始終爲零。如果不是這樣,請參閱Microsoft's date format string page以瞭解您可以使用的其他格式代碼。
-
編輯:dateWithString
方法人也都使用會更好在你的情況下使用,但日期格式是必要的,如果你所得到的日期格式字符串是不完全正確的。我不認爲我曾經使用API以正確的格式發送日期,也許我只是不幸運:-(。
你應該看看http://stackoverflow.com/questions/1427151/how在iphone中獲取時間差異 – 2011-06-10 13:02:09