对于时间区域格式,只显示年份的话,有没有办法中文区显示完整年份,如:"2003年"? - OurCoders (我们程序员)

OC

对于时间区域格式,只显示年份的话,有没有办法中文区显示完整年份,如:"2003年"?

zgjie 发布于 2013年07月31日
无人欣赏。

本人用setDateFormat试来试去只能实现"2003",后面那个"年"字没有。

可以本地化语言翻译"年"字,中文显示"年"字,英文显示"",但是这是对应于系统设置的语言,跟区域格式无关。区域格式,有办法显示"2003年"吗?

共7条回复
ibuick 回复于 2013年07月31日 | 更新于 2013年08月01日
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
 @autoreleasepool {
 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
 NSLocale *cnLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh"];
 [formatter setLocale:cnLocale];
 [formatter setDateStyle:NSDateFormatterFullStyle];
 [formatter setTimeStyle:NSDateFormatterFullStyle];
 NSLog(@"Date for locale %@: %@",
 [[formatter locale] localeIdentifier], [formatter stringFromDate:[NSDate date]]);
 }
 return 0;
}
tinyfool 回复于 2013年07月31日

楼上,编辑器上的那个101010的图标就是用来贴代码的

ibuick 回复于 2013年08月01日

我突然发现,你可能更需要的是这段代码,,,不过,你都是不看 API 文档的么?

#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
 @autoreleasepool {
 NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
 NSLocale *cnLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh"];
 NSString *dateFormat;
 NSString *dateComponents = @"yyyy";
 dateFormat = [NSDateFormatter dateFormatFromTemplate:dateComponents options:0 locale:cnLocale];
 [formatter setDateFormat:dateFormat];
 NSLog(@"Date for locale %@: %@",
 [cnLocale displayNameForKey:NSLocaleIdentifier value:@"zh"] , [formatter stringFromDate:[NSDate date]]);
 }
 return 0;
}
tinyfool 回复于 2013年08月01日

楼上你可以直接修改你的帖子,右下角有编辑按钮

贴代码的方式是,你先把代码贴到编辑器,然后选中代码,点击上面的代码按钮 101 010 那个

ibuick 回复于 2013年08月01日

搞定了,搞定了,

tinyfool 回复于 2013年08月01日

:) 帅哥,果然聪明

zgjie 回复于 2013年08月01日

感谢!以前我看过这个method,看示例以为只是根据地区显示不同的年月日顺序,原来还可以这样子!

登录 或者 注册
发布新帖
相关帖子
相关新闻
最新帖子

AltStyle によって変換されたページ (->オリジナル) /