【问题标题】:Convert gregorian datepicker to persian datepicker in swift?快速将 gregorian datepicker 转换为 persian datepicker?
【发布时间】:2015-10-27 16:03:44
【问题描述】:

如何在 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,但日期选择器没有任何变化?

【问题讨论】:

  • 您正在更改 NSDateFormater 的日期格式,而不是日期选择器

标签: ios swift uidatepicker


【解决方案1】:

您需要设置calendar,而不是dateFormat

dateFormatter.calendar = NSCalendar(identifier: NSCalendarIdentifierPersian)

如果您想要更改语言,您还必须设置 locale 属性:

dateFormatter.locale = NSLocale(localeIdentifier: "fa_IR")

此外,正如对问题注释的评论,您在代码中使用的是NSDateFormatter,而不是UIDatePicker。幸运的是,答案仍然是正确的; UIDatePicker 也有一个 calendar 属性,您可以设置它来实现此目标。

【讨论】:

  • 感谢您的回答我了解并将日历添加到我的 dateickerView,它可以正常工作但 datepicker 的语言没有更改为波斯语有什么方法可以更改语言吗?
  • 您的设备是波斯语的吗?它应该显示在设备/模拟器设置的任何语言环境中。如果要覆盖设备/模拟器区域设置,则必须设置 locale 属性。我将更新我的代码示例。
  • Apple 不支持波斯语,所以无法使用波斯语作为语言环境。
  • 我可以全局设置吗?我的应用程序很旧,而且我有很大的项目......而且我在很多地方都使用过日历。
  • 我认为没有办法将默认语言环境更改为与设备设置不同的内容。您最好的选择可能是创建一个函数(如果您使用 Swift,可能在 Calendar 的扩展中)创建日历并设置其语言环境并在您使用它的任何地方使用它。
【解决方案2】:

斯威夫特 3:

正如 Charles A. 所说,DatePicker 有一个日历属性,您可以使用它来拥有波斯日期选择器,甚至:

datePicker.calendar = Calendar(identifier: .persian)
datePicker.locale = Locale(identifier: "fa_IR")

【讨论】:

  • 我得到了当前日期,但无法将其转换为波斯日期
  • 要转换日期,您可以查看以下答案:stackoverflow.com/a/41039598/2101822。希望对您有所帮助。
【解决方案3】:

SwiftUI 示例:

 DatePicker("", selection: self.$mySelectionDate, displayedComponents: .date)
                        .environment(\.locale, Locale.init(identifier: "fa_IR"))
                        .environment(\.calendar,Calendar(identifier: .persian))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    相关资源
    最近更新 更多