NSDate 格式根据语言(地区)变化
NSDate Format change depending on Language (region)
在我的应用程序中(使用 Swift 2)我有一个使用 NSDate
的函数,但是我有一个问题:根据设备上设置的语言,获得的日期不是相同(例如月份取决于语言:英语中的 January 等于法语中的 Janvier)
当我有这个时:
NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: NSDateFormatterStyle.ShortStyle, timeStyle: NSDateFormatterStyle.NoStyle)
当我在美国本地化时,我得到这种格式 3/29/16
但是当我在法国本地化时,我会得到不同的格式:29/03/16
无论语言是什么,我怎样才能要求相同的日期格式(这里是美国格式)?
使用这个,
let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = .ShortStyle
dateFormatter.timeStyle = .NoStyle
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
具有相同格式的关键是始终使用相同的语言环境。因此,它使用英语语言环境来格式化字符串,因此它始终保持格式
M/d/yy
为此,您必须创建自己的日期格式化程序,例如
let dateFormater = NSDateFormatter()
dateFormater.dateFormat = "MM/dd/yy"
let dt = dateFormater.stringFromDate(NSDate())
您可以从 Date Format Patterns
阅读更多关于日期格式的信息
在我的应用程序中(使用 Swift 2)我有一个使用 NSDate
的函数,但是我有一个问题:根据设备上设置的语言,获得的日期不是相同(例如月份取决于语言:英语中的 January 等于法语中的 Janvier)
当我有这个时:
NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: NSDateFormatterStyle.ShortStyle, timeStyle: NSDateFormatterStyle.NoStyle)
当我在美国本地化时,我得到这种格式 3/29/16
但是当我在法国本地化时,我会得到不同的格式:29/03/16
无论语言是什么,我怎样才能要求相同的日期格式(这里是美国格式)?
使用这个,
let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = .ShortStyle
dateFormatter.timeStyle = .NoStyle
dateFormatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
具有相同格式的关键是始终使用相同的语言环境。因此,它使用英语语言环境来格式化字符串,因此它始终保持格式
M/d/yy
为此,您必须创建自己的日期格式化程序,例如
let dateFormater = NSDateFormatter()
dateFormater.dateFormat = "MM/dd/yy"
let dt = dateFormater.stringFromDate(NSDate())
您可以从 Date Format Patterns
阅读更多关于日期格式的信息