Разница между двумя NSDates
Я беру два NSDates, используя выбор времени. Теперь я хочу подсчитать количество дней между этими двумя NSDates. Как я могу найти разницу между двумя NSDates.
пожалуйста, дайте мне некоторое решение.
Спасибо большое.
Ответы
Ответ 1
Ссылка NSDate - отличный маленький документ:
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate
- это то, что вы ищете, если хотите разницу во времени.
В течение нескольких дней (как не каждый день имеет такое же количество минут, часов) вы хотите увидеть ответ Мартинса ниже и использовать NSDateComponents с [NSCalendar currentCalendar]
Ответ 2
Вот немного драгоценного камня для вас - с более чем несколькими днями:
// Assuming you have fistDate and secondDate
unsigned int unitFlags = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitDay | NSCalendarUnitMonth;
NSDateComponents *conversionInfo = [currCalendar components:unitFlags fromDate:fistDate toDate:secondDate options:0];
int months = [conversionInfo month];
int days = [conversionInfo day];
int hours = [conversionInfo hour];
int minutes = [conversionInfo minute];
Это очень полезно - особенно при форматировании строки, например:
[NSString stringWithFormat:@"%d months , %d days, %d hours, %d min", months, days, hours, minutes];
Счастливое кодирование:)
Ответ 3
Здесь реализация Swift (я все время использую это при отладке таких вещей, как сетевые запросы и разбор JSON):
let date1 = NSDate()
// do some long running task
let date2 = NSDate()
print(date2.timeIntervalSinceDate(date1))
// you can also do this in one line, of course:
print(NSDate().timeIntervalSinceDate(date1))