2015-10-27 5 views
6

Wie kann ich Gregorianische Datumsauswahl in Swift-Sprache in persische Datumsauswahl umwandeln?Konvertieren gregorian datepicker in persian datepicker in 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) 

} 

Ich änderte Datumsformat NSCalendarIdentifierPersian aber es ist nicht jede Änderung in picker?

+0

Sie Datumsformat NSDateFormater nicht Datumsauswahl ändern btw – Mousavian

Antwort

12

Sie müssen die calendar setzen, nicht die dateFormat:

dateFormatter.calendar = NSCalendar(identifier: NSCalendarIdentifierPersian) 

Sie würden auch die locale Eigenschaft festlegen, wenn Sie die Sprache ändern möchten:

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

Auch, wie die Kommentar zu den Frage Notizen, Sie arbeiten mit einem NSDateFormatter, nicht ein UIDatePicker in Ihrem Code. Zum Glück ist die Antwort immer noch korrekt; UIDatePicker hat auch eine calendar Eigenschaft, die Sie festlegen würden, um dieses Ziel zu erreichen.

+0

danke für die antwort ich verstehe und füge kalender zu meinem dateinickView hinzu, es funktionierte aber die sprache von datepicker ist nicht persisch zu ändern gibt es irgendeine möglichkeit die sprache zu ändern? –

+1

Ist Ihr Gerät persisch? Es sollte in jedem Gebietsschema angezeigt werden, auf das das Gerät/der Simulator eingestellt ist. Wenn Sie das Gebietsschema des Geräts/Simulators überschreiben möchten, müssen Sie die Eigenschaft "locale" festlegen. Ich werde mein Codebeispiel aktualisieren. –

+0

Apple unterstützt keine persische Sprache, daher gibt es keine Möglichkeit, Persisch als Gebietsschema zu verwenden. –

0

Swift 3:

Als Charles A. DatePicker Said hat einen Kalender-Eigenschaft und Sie können es persisch picker haben verwenden:

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

Ich habe das aktuelle Datum, aber kann es nicht in das persische Datum konvertieren –

+1

Um Daten zu konvertieren, können Sie einen Blick auf diese Antwort werfen: https://Stackoverflow.com/a/41039598/2101822. Ich hoffe es hilft. –