我正在考虑使用-[NSDateFormatter setDoesRelativeDateFormatting:]
“今天”或“昨天”来表示日期。我只查看过去的日期,但很好奇我会看到哪些英国本地化选项。
只是
- “今天”
- “昨天”
或者任何更复杂的东西
- 《前天》
是否在任何地方列出了可能的输出,以便我了解正确显示它们所需的屏幕空间?
我正在考虑使用-[NSDateFormatter setDoesRelativeDateFormatting:]
“今天”或“昨天”来表示日期。我只查看过去的日期,但很好奇我会看到哪些英国本地化选项。
只是
或者任何更复杂的东西
是否在任何地方列出了可能的输出,以便我了解正确显示它们所需的屏幕空间?
是的。当您运行以下程序时,它们会在您的控制台窗口中列出:
#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;
}
在我的语言环境中,列表似乎只是“明天”、“今天”和“昨天”。