iPhone SDK - NSDateFormatter日+月

时间:2009-12-11 12:07:58

标签: iphone nsdateformatter

我只想显示日期的日期和月份。基本上是NSDateFormatterLongStyle但没有年份。

我面临的问题是本地化。在英文版中,它必须显示例如'1月14日'和法语'14 Janvier'。

有没有简单的方法来打印这样的日期?或者我是否使用ifelse语句来检查当前区域设置并设置月份之前或之后的日期?

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:2)

结帐this question..... 我之前遇到过相同的问题,但是使用dateFormat而不是dateStyle

解决了这个问题

答案 1 :(得分:1)

如果不是全部的话,这个功能看起来会让你大部分时间......

+ (NSString *)dateFormatFromTemplate:(NSString *)templateoptions:(NSUInteger)optslocale:(NSLocale *)locale

http://developer.apple.com/mac/library/documentation/cocoa/reference/foundation/Classes/NSDateFormatter_Class/Reference/Reference.html#//apple_ref/occ/clm/NSDateFormatter/dateFormatFromTemplate:options:locale:

“不同的语言环境对日期组件的排序有不同的约定。您可以使用此方法为指定语言环境的给定组件集合获取适当的格式字符串(通常使用当前语言环境 - 请参阅currentLocale)。” / p>

我认为如果您使用他们提供的示例,只需从

中删除y即可
NSString *dateComponents = @"yMMMMd";

它将为您提供一个没有给定语言环境的年份部分的字符串

答案 2 :(得分:1)

答案 3 :(得分:-1)

似乎if / else不足以完成捕获每个案例的任务。我会使用NSDateFormatterLong样式,然后只需查找/替换从字符串中删除年份。