Простой пример для тех, кто ищет простой и быстрый путь отформатировать дату при разработке под iPhone. В моем примере будем форматировать дату по стандарту RFC2822.
NSString *rfcDate = @"Mon, 4 Jan 2010 20:41:12 +0300";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
/* Установка локали обязательна, т.к. иначе будет использована текущая */
NSLocale *enUS = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[formatter setLocale:enUS];
[enUS release];
[formatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZ"];
NSDate *theDate = [formatter dateWithString:rfcDate];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
/* Установка локали обязательна, т.к. иначе будет использована текущая */
NSLocale *enUS = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[formatter setLocale:enUS];
[enUS release];
[formatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZ"];
NSDate *theDate = [formatter dateWithString:rfcDate];
Данный подход достаточно прост и эффективен, но у него есть один минус - куча строк, которые придется писать каждый раз, когда надо сделать преобразование. Чтобы этого избежать можно сделать так:

Последние комментарии
4 часа 53 минуты назад
5 дней 4 часа назад
5 дней 4 часа назад
5 дней 4 часа назад
5 дней 4 часа назад
1 неделя 3 дня назад
1 неделя 6 дней назад
2 недели 16 часов назад
2 недели 4 дня назад
5 недель 5 дней назад