Wie konvertiere ich NSDate in ein relatives Format wie "Heute", "Gestern", "Vor einer Woche", "Vor einem Monat", "Vor einem Jahr"?
Ich möchte nsdate in ein relatives Format wie konvertieren"Today","Yesterday","a week ago","a month ago","a year ago","date as it is"
.
Ich habe folgende Methode dafür geschrieben .. aber einige, wie es gerade gedruckt wird, da es Datum ist .. kannst du mir bitte sagen, was das Problem sein sollte?
// Im Folgenden ist meine Funktion, die das Datum in eine relative Zeichenfolge konvertiert
+(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];
}
Ich habe eine Datumszeichenfolge mit dem folgenden Format"2013-10-29T09:38:00"
Wenn ich versucht habe, das NSDate-Objekt zu übergeben, wird mir immer ein Nulldatum zurückgegeben.
Also habe ich versucht, dieses Datum in umzuwandelnyyyy-MM-dd HH:mm:ssZZZZ
dann übergebe ich dieses Datum, um zu funktionieren, dann wird nur das ganze Datum gedruckt.
Wie kann man dieses Problem lösen?
// Es folgt der Code, den ich die obige Funktion aufrufe
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;