【发布时间】:2009-12-11 12:07:58
【问题描述】:
我想只显示日期的日期和月份。基本上是 NSDateFormatterLongStyle 但没有年份。
我面临的问题是本地化。在英文版中,它必须显示例如“January 14”,在法文版中必须显示“14 Janvier”。
有没有简单的方法来打印这些日期?或者我是否使用 ifelse 语句来检查当前语言环境并设置月份之前或之后的日期?
提前感谢您的帮助。
【问题讨论】:
我想只显示日期的日期和月份。基本上是 NSDateFormatterLongStyle 但没有年份。
我面临的问题是本地化。在英文版中,它必须显示例如“January 14”,在法文版中必须显示“14 Janvier”。
有没有简单的方法来打印这些日期?或者我是否使用 ifelse 语句来检查当前语言环境并设置月份之前或之后的日期?
提前感谢您的帮助。
【问题讨论】:
查看this question.....
我之前也遇到过同样的问题,但通过使用dateFormat 而不是dateStyle 解决了它
【讨论】:
如果不是全部的话,这个功能看起来可以帮助你完成大部分的工作......
+ (NSString *)dateFormatFromTemplate:(NSString *)templateoptions:(NSUInteger)optslocale:(NSLocale *)locale
“不同的区域设置对日期组件的排序有不同的约定。您可以使用此方法为指定区域设置的给定组件集获取适当的格式字符串(通常您使用当前区域设置 - 请参阅 currentLocale)。”
我认为如果您使用他们提供的示例,只需删除 y
NSString *dateComponents = @"yMMMMd";
它会给你一个字符串,没有给定语言环境的年份部分
【讨论】:
【讨论】:
似乎 if/else 不足以完成捕获每个案例的任务。我会使用 NSDateFormatterLong 样式,然后只需查找/替换即可从字符串中删除年份。
【讨论】: