相对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; }
在我的语言环境中,列表似乎只是“明天”,“今天”和“昨天”。