2015-10-01 1 views
1

Le code source provient de:Convert Date grégorienne à ce jour Hijri

Hijri (islamic) calendar in swift التاريخ الهجري

How can I convert string date to NSDate?

Je les ai mis tout ensemble, mais il a une erreur avec la sortie.

let dateFormatter = NSDateFormatter() 

dateFormatter.dateFormat = "YYYY-MM-DD" 

let GregorianDate = dateFormatter.dateFromString("\(Yeartext1.text!)-\(Monthtext1.text!)-\(Daytext1.text!)") 

let islamic = NSCalendar(identifier: NSIslamicCalendar) 

let components = islamic?.components(NSCalendarUnit(rawValue: UInt.max), fromDate: GregorianDate!) 

resultlable.text = "\(components!.year) - \(components!.month) - \(components!.day)" 

Par exemple, l'utilisateur entrera une date grégorienne (de 29.09.2015) et il devrait montrer l'année Hijri (15/12/1436), mais cela ne fonctionne pas.

Répondre

3

Yeartext1, Monthtext1 et Monthtext1 sont UITextField

resultlable est UILabel

let dateFormatter = NSDateFormatter() 

    dateFormatter.dateFormat = "dd-MM-yyyy" 

    let GregorianDate = dateFormatter.dateFromString("\(Daytext1.text!)-\(Monthtext1.text!)-\(Yeartext1.text!)") 

    let islamic = NSCalendar(identifier: NSCalendarIdentifierIslamicUmmAlQura) 

    let components = islamic?.components(NSCalendarUnit(rawValue: UInt.max), fromDate: GregorianDate!) 

    resultlable.text = "\(components!.year) - \(components!.month) - \(components!.day)" 

Il aura une date grégorienne 10/05/2015 et il vous donnera la date islamic 1436-1412 - 22

* Il y a une faible probabilité d'une erreur de jour

vous pouvez vérifier ce convertisseur http://www.islamicfinder.org/Hcal/hdate_next.php

0

Hijri Pour Grégorien (cela peut aider quelqu'un)

let dateFormatter = NSDateFormatter() 

dateFormatter.dateFormat = "dd-MM-yyyy" 

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

let islamicDate = dateFormatter.dateFromString("8-10-1437") 

let gregorian = NSCalendar(identifier: NSCalendarIdentifierGregorian) 

let components = gregorian?.components(NSCalendarUnit(rawValue: UInt.max), fromDate: islamicDate!) 

print("\(components!.year) - \(components!.month) - \(components!.day)")