标准框架是否支持时差格式并创建遵循区域设置的格式?我知道我可以将它分解为NSDateComponents但是我必须自己附加文本并创建不同的语言支持文件。我想知道可能有一种方法来格式化日期,并使其遵循区域设置简单和类似于此...
dateFormat = [[[NSDateFormatter alloc] init] autorelease];
[dateFormat setDateStyle:NSDateFormatterMediumStyle]
感谢
答案 0 :(得分:6)
您可以通过执行以下操作来启用相对日期格式:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.doesRelativeDateFormatting = YES;
这将为您提供看起来像“昨天”,“今天”,“明天”等的日期字符串。
如果这还不够,那么这可能很有用:http://zetetic.net/code/nsdate-helper
NSDate类别并不适用于我想要的东西,所以我添加了我自己的功能,基于类别中的一个..似乎工作,但没有保证;)当然这只会给你一些信息 - 它没有给你区域设置格式等。
- (NSUInteger)daysAgoAgainstMidnight2 {
// get a midnight version of ourself:
NSDateFormatter *mdf = [[NSDateFormatter alloc] init];
[mdf setDateFormat:@"yyyy-MM-dd"];
NSDate *midnightMe = [mdf dateFromString:[mdf stringFromDate:self]];
NSDate *midnightNow = [mdf dateFromString:[mdf stringFromDate:[NSDate date]]];
NSDateComponents *components = [calendar components:(NSDayCalendarUnit)
fromDate:midnightMe toDate:midnightNow
options:0];
return [components day];
}