swift 将公历日期转换为伊斯兰教日期未显示正确日期
swift converting date from Gregorian to Islamic not showing correct date
我有这个函数可以将 Gregorian
日期转换为 Islamic
日期:
func toIslamic() -> String {
let dateFormatter: DateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
dateFormatter.locale = Locale(identifier: "en")
let GregorianDate = dateFormatter.date(from: "23/03/1992")
let islamic = Calendar(identifier: Calendar.Identifier.islamicUmmAlQura)
let components = (islamic as NSCalendar?)?.components(NSCalendar.Unit(rawValue: UInt.max), from: GregorianDate!)
let fina_date = "\(components!.day!)/\(components!.month!)/\(components!.year!)"
print("final Islamic Date :: \(fina_date)") // 18/9/1412
return fina_date
}
输出日期不正确:
函数输出:
print("final Islamic Date :: \(fina_date)") // 18/9/1412
输出应该是:
20/9/1412
有什么我想念的吗?
无法保证您在此转换过程中获得正确的数据,您的应用应提供用户可以 select +1、+2、-1 和 -2 到当前数据的更正部分显示的日期,您应该添加到从转化中获得的日期,即使在 MuslimPro
等最著名的应用程序中也可以找到
我有这个函数可以将 Gregorian
日期转换为 Islamic
日期:
func toIslamic() -> String {
let dateFormatter: DateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
dateFormatter.locale = Locale(identifier: "en")
let GregorianDate = dateFormatter.date(from: "23/03/1992")
let islamic = Calendar(identifier: Calendar.Identifier.islamicUmmAlQura)
let components = (islamic as NSCalendar?)?.components(NSCalendar.Unit(rawValue: UInt.max), from: GregorianDate!)
let fina_date = "\(components!.day!)/\(components!.month!)/\(components!.year!)"
print("final Islamic Date :: \(fina_date)") // 18/9/1412
return fina_date
}
输出日期不正确:
函数输出:
print("final Islamic Date :: \(fina_date)") // 18/9/1412
输出应该是:
20/9/1412
有什么我想念的吗?
无法保证您在此转换过程中获得正确的数据,您的应用应提供用户可以 select +1、+2、-1 和 -2 到当前数据的更正部分显示的日期,您应该添加到从转化中获得的日期,即使在 MuslimPro
等最著名的应用程序中也可以找到