相对date格式,过去date的输出?

我正在使用-[NSDateFormatter setDoesRelativeDateFormatting:]将date显示为“Today”或“Yesterday”。 我只是在看过去的date,但很好奇我会看到英国本土化的select。

只是

  • “今天”
  • “昨天”

或者更复杂的东西

  • “前天”

是否可能的输出列在任何地方,以便我可以了解正确显示它们所需的屏幕空间?

是。 当您运行以下程序时,它们在您的控制台窗口中列出:

 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; [formatter setDateStyle:NSDateFormatterFullStyle]; [formatter setDoesRelativeDateFormatting:YES]; NSCalendar * cal = [[NSLocale currentLocale] objectForKey:NSLocaleCalendar]; NSDateComponents * minusOneDay = [[NSDateComponents alloc] init]; [minusOneDay setDay:-1]; NSDate * today = [NSDate date]; NSDate * date = [NSDate date]; while( 1 > [[cal components:NSYearCalendarUnit fromDate:date toDate:today options:0] year] ){ NSLog(@"%@", [formatter stringFromDate:date]); date = [cal dateByAddingComponents:minusOneDay toDate:date options:0]; } } return 0; } 

在我的语言环境中,列表似乎只是“明天”,“今天”和“昨天”。