Jak przekonwertować NSDate na format względny jako „Dzisiaj”, „Wczoraj”, „tydzień temu”, „miesiąc temu”, „rok temu”?
Chcę przekonwertować nsdate na format względny"Today","Yesterday","a week ago","a month ago","a year ago","date as it is"
.
Napisałem na ten temat następującą metodę ... ale niektóre, jak to po prostu drukować, jak jest data .. czy możesz mi powiedzieć, jaki powinien być problem?
// Poniżej znajduje się moja funkcja, która konwertuje datę na łańcuch względny
+(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];
}
Mam łańcuch daty w następującym formacie"2013-10-29T09:38:00"
Kiedy próbowałem podać obiekt NSDate, zawsze zwracał mi datę zerową.
więc próbowałem przekonwertować tę datę nayyyy-MM-dd HH:mm:ssZZZZ
następnie przekazuję tę datę, aby działała, to po prostu drukuje całą datę ..
Jak rozwiązać ten problem?
// Poniżej znajduje się kod, który nazywam powyższą funkcją
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;