NSDateFormatter może to zrobić. Nie działa to jednak z niestandardowymi formatami daty, ale w większości przypadków, gdy potrzebujesz względnych dat, prezentujesz je użytkownikowi, a przede wszystkim: you should not use hard coded date formats.
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.timeStyle = NSDateFormatterMediumStyle;
df.dateStyle = NSDateFormatterShortStyle;
df.doesRelativeDateFormatting = YES; // this enables relative dates like yesterday, today, tomorrow...
NSLog(@"%@", [df stringFromDate:[NSDate dateWithTimeIntervalSinceNow:-48*60*60]]);
NSLog(@"%@", [df stringFromDate:[NSDate dateWithTimeIntervalSinceNow:-24*60*60]]);
NSLog(@"%@", [df stringFromDate:[NSDate date]]);
NSLog(@"%@", [df stringFromDate:[NSDate dateWithTimeIntervalSinceNow:24*60*60]]);
NSLog(@"%@", [df stringFromDate:[NSDate dateWithTimeIntervalSinceNow:48*60*60]]);
to wypisze:
2013-06-06 09:13:22.844 x 2[11732:c07] 6/4/13, 9:13:22 AM
2013-06-06 09:13:22.845 x 2[11732:c07] Yesterday, 9:13:22 AM
2013-06-06 09:13:22.845 x 2[11732:c07] Today, 9:13:22 AM
2013-06-06 09:13:22.846 x 2[11732:c07] Tomorrow, 9:13:22 AM
2013-06-06 09:13:22.846 x 2[11732:c07] 6/8/13, 9:13:22 AM
Na urządzeniu z niemieckimi lokalizacji będzie to print „Vorgestern” (przedwczoraj) i „Übermorgen” (pojutrze) dla pierwszego i Ostatnia randka.
Jeśli data przedwczoraj, co będzie wyjście. Powiedz, czego dokładnie chcesz. –
, jeśli data przed wczoraj musi być wyświetlana sama data.i chcesz zwrócić ciągi z dzisiejszym, wczoraj i samą datą .. – Ananya