Как преобразовать NSDate в относительный формат как «Сегодня», «Вчера», «Неделю назад», «Месяц назад», «Год назад»?
Я хочу, чтобы преобразовать nsdate в относительный формат, как"Today","Yesterday","a week ago","a month ago","a year ago","date as it is"
.
Я написал следующий метод для него .. но некоторые, как его просто печатать, как это дата .. не могли бы вы сказать мне, в чем должна быть проблема?
// Следующая моя функция, которая преобразует дату в относительную строку
+(NSString *)getDateDiffrence:(NSDate *)strDate{
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.timeStyle = NSDateFormatterMediumStyle;
df.dateStyle = NSDateFormatterShortStyle;
df.doesRelativeDateFormatting = YES;
NSLog(@"STRING DATEEE : %@ REAL DATE TODAY %@",[df stringFromDate:strDate],[NSDate date]);
return [df stringFromDate:strDate];
}
У меня есть строка даты в следующем формате"2013-10-29T09:38:00"
Когда я пытался дать объект NSDate, он всегда возвращал мне нулевую дату.
поэтому я попытался преобразовать эту дату вyyyy-MM-dd HH:mm:ssZZZZ
затем я передаю эту дату в функцию, тогда она просто печатает целую дату ..
Как решить эту проблему?
// Ниже приведен код, который я вызываю вышеупомянутой функцией
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate *date = [formatter dateFromString:[threadDict objectForKey:@"lastMessageDate"]];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ssZZZZ"];
NSString *date1 = [formatter stringFromDate:date];
NSDate *date_d = [formatter dateFromString:date1];
NSString *resultstr=[UserManager getDateDiffrence:date];
self.dateLabel.text=resultstr;