iOS根据用户区域设置日期格式

时间:2014-11-24 20:37:34

标签: ios nsdate nsdateformatter

我正在尝试根据用户区域设置来设置日期格式:

所以我按照this question的答案:

具体来说,我做了:

NSDate* now = [NSDate date];
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setDateStyle:NSDateFormatterMediumStyle];
NSString* myString = [df stringFromDate:now];

我的问题是:当我将语言环境设置为意大利时,日期显示为“24 / nov / 2014”。为什么月份显示为“nov”而不是“11”?

1 个答案:

答案 0 :(得分:2)

根据the documentation,英语的“中等”风格(您指定的)显示为“1937年11月23日”,所以它显示为“nov”不应该是非常令人惊讶的意大利语中的“11”。

  

NSDateFormatterMediumStyle
  指定中等样式,通常使用缩写文本,例如“1937年11月23日”

看起来好像你正在寻找“短”风格。请注意,目前的某些国家/地区显示为日,月,年,而其他国家/地区则显示年,月,日甚至月,日,年 < sup> 1 (如下所示):

  

NSDateFormatterShortStyle
  指定简短样式,通常仅限数字,例如“11/23/37”