如何根据语言环境仅显示日期的日期和月份?
Posted
技术标签:
【中文标题】如何根据语言环境仅显示日期的日期和月份?【英文标题】:How to display only the day and month of a date based on the locale? 【发布时间】:2015-05-20 14:20:22 【问题描述】:我想只显示日期的日期和月份,但我希望它基于用户的区域设置。
例如我有以下日期:21/05/2015 00:16:00 GMT+10
如果语言环境是en_US
,我想要May 21
,或者如果语言环境是fr_FR
,我想要21 May
。
我查看了NSDateFormatter
格式化程序的dateStyle
,但找不到我想要的。
【问题讨论】:
在格式化程序中使用实际的格式字符串。 【参考方案1】:大概是这样的:
let d = // the date
let df = NSDateFormatter()
let format = NSDateFormatter.dateFormatFromTemplate(
"dMMMM", options:0, locale:NSLocale.currentLocale())
df.dateFormat = format
let s = df.stringFromDate(d)
请注意,结果中涉及设备上的语言和区域设置。
【讨论】:
非常感谢!我不知道dateFormatFromTemplate
。会有用的!【参考方案2】:
你可以使用简单的扩展:
public extension NSDate
func getNiceDate() -> String!
let dateFormatter = NSDateFormatter()
let format = NSDateFormatter.dateFormatFromTemplate(
"dMMMM", options:0, locale:NSLocale(localeIdentifier: "en_US"))
dateFormatter.dateFormat = format
return dateFormatter.stringFromDate(self)
【讨论】:
以上是关于如何根据语言环境仅显示日期的日期和月份?的主要内容,如果未能解决你的问题,请参考以下文章