Мое приложение представляет список сообщений, каждое из которых имеет дату создания.
Я не хочу просто показывать дату, а показывать разные форматы в зависимости от того, сколько времени прошло с даты создания.
например, вот как я создаю строку даты из даты:
NSDate *date = someMessage.creationDate;
NSTimeInterval timePassed = [[NSDate date] timeIntervalSinceDate:date];
if (timePassed < 60 ) { // less then one minute
return @"now"
} else if (timePassed < 3600) { // less then one hour
NSInteger minutes = (NSInteger) floor(timePassed / 60.0);
return [NSString stringWithFormat:@"%d minutes ago", minutes];
}
поэтому теперь я хочу добавить следующие случаи:
else if ("timePassed < 24 hours ago and within the same calendar day")
// do something
} else if ("timePassed > 24 hours, or within previous calendar day") {
// do something else
}
но не уверен, как это сделать, любая помощь будет оценена
NSDate
не зависит от часового пояса. См. этот пост stackoverflow.com/questions/7720060/ для дискуссия о таком. 17.09.2014