在 swift 中将公历日期选择器转换为波斯日期选择器?
Convert gregorian datepicker to persian datepicker in swift?
如何将 Swift 语言的公历日期选择器转换为波斯语日期选择器?
func datePickerValueChanged(sender: UIDatePicker) {
let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle
dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle
dateFormatter.dateFormat = NSCalendarIdentifierPersian
dateOutlet.text = dateFormatter.stringFromDate(sender.date)
}
我将日期格式更改为NSCalendarIdentifierPersian
,但日期选择器没有任何变化?
您需要设置 calendar
,而不是 dateFormat
:
dateFormatter.calendar = NSCalendar(identifier: NSCalendarIdentifierPersian)
如果您希望更改语言,您还必须设置 locale
属性:
dateFormatter.locale = NSLocale(localeIdentifier: "fa_IR")
此外,正如问题注释中的评论,您在代码中使用的是 NSDateFormatter
,而不是 UIDatePicker
。幸好答案还是正确的; UIDatePicker
也有一个 calendar
属性 可以用来实现这个目标。
Swift 3:
正如 Charles A. 所说 DatePicker
有一个日历 属性 并且您可以使用它来设置波斯语日期选择器甚至 :
datePicker.calendar = Calendar(identifier: .persian)
datePicker.locale = Locale(identifier: "fa_IR")
SwiftUI 示例:
DatePicker("", selection: self.$mySelectionDate, displayedComponents: .date)
.environment(\.locale, Locale.init(identifier: "fa_IR"))
.environment(\.calendar,Calendar(identifier: .persian))
如何将 Swift 语言的公历日期选择器转换为波斯语日期选择器?
func datePickerValueChanged(sender: UIDatePicker) {
let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle
dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle
dateFormatter.dateFormat = NSCalendarIdentifierPersian
dateOutlet.text = dateFormatter.stringFromDate(sender.date)
}
我将日期格式更改为NSCalendarIdentifierPersian
,但日期选择器没有任何变化?
您需要设置 calendar
,而不是 dateFormat
:
dateFormatter.calendar = NSCalendar(identifier: NSCalendarIdentifierPersian)
如果您希望更改语言,您还必须设置 locale
属性:
dateFormatter.locale = NSLocale(localeIdentifier: "fa_IR")
此外,正如问题注释中的评论,您在代码中使用的是 NSDateFormatter
,而不是 UIDatePicker
。幸好答案还是正确的; UIDatePicker
也有一个 calendar
属性 可以用来实现这个目标。
Swift 3:
正如 Charles A. 所说 DatePicker
有一个日历 属性 并且您可以使用它来设置波斯语日期选择器甚至 :
datePicker.calendar = Calendar(identifier: .persian)
datePicker.locale = Locale(identifier: "fa_IR")
SwiftUI 示例:
DatePicker("", selection: self.$mySelectionDate, displayedComponents: .date)
.environment(\.locale, Locale.init(identifier: "fa_IR"))
.environment(\.calendar,Calendar(identifier: .persian))