我正在尝试更改datePickerDialog中写入的日期以使Hijri伊斯兰日期。
我发现将Hijri日期显示为NSDateComponents
的功能func hijriDate(dateToConvert: NSDate) -> NSDateComponents{
let islamic = NSCalendar(identifier:NSCalendarIdentifierIslamicCivil)!
let hijriComponents = islamic.components(NSCalendarUnit(rawValue: UInt.max), fromDate: dateToConvert)
print("Date in system calendar:\(dateToConvert), in Hijri:\(hijriComponents.year)-\(hijriComponents.month)-\(hijriComponents.day)")
return hijriComponents
//"Date in system calendar:2014-09-25 09:53:00 +0000, in Hijri:1435-11-30"
}
因此,当datePicker打印日期时我想通过将NSDate转换为Hijri组件来显示伊斯兰组件。
那么有没有办法显示datePickerDialog的自定义文本?所以我可以使用上面的函数从NSDate打印日期为Hijri?
更新
我使用的当前DatePickerDialog是:
let STR_DATE_FORMAT = "EEEE d, MMM yyyy"
DatePickerDialog().show("Select date".localized(), doneButtonTitle: "OK".localized(), cancelButtonTitle: "Cancel".localized(), datePickerMode: .Date, defaultDate:self.data.event_date ) {
(date) -> Void in
self.data.event_date = date
self.event_date.text = date.toString(format: .Custom(STR_DATE_FORMAT)) as String
}