#ios #nsdate
#iOS #nsdate
Вопрос:
В качестве заголовка я попробовал следующий простой код:
NSDate *date1 = [NSDate date];
NSDate *date2 = [NSDate date];
if([date1 compare:date2] == NSOrderedSame)
NSLog(@"two time same");
else
NSLog(@"two time not same");
и результатом является:
two time not same
Я этого не понимаю, может кто-нибудь дать мне несколько советов? Спасибо.
Комментарии:
1. Даты не совпадают.
Ответ №1:
это не одно и то же, потому что существует небольшая разница во времени создания объекта, просто попробуйте напечатать там значение в NSTimeInterVal
, чтобы узнать лучше.
Пример:
NSDate *date1 = [NSDate date];
NSDate *date2 = [NSDate date];
NSLog(@"date1 : %f", [date1 timeIntervalSince1970]);
NSLog(@"date2 : %f", [date2 timeIntervalSince1970]);
Вывод:
date1 : 1404466511.638555
date2 : 1404466511.638558
и вы также можете увидеть разницу, используя метод
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate
Комментарии:
1. Добавлен пример, просто чтобы проиллюстрировать разницу.
2. Хорошо, большое спасибо, я не обращаю внимания на точность nsdate. Еще раз спасибо