Я хочу преобразовать 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;