2012-10-28 10 views
7

Sto tentando di visualizzare la corrente islamica day nome, month nome. Ho usato NSLocale per impostare la regione su ar_SA, tuttavia è solo la traduzione dei nomi del giorno e del mese dall'inglese all'arabo.Cambiare i nomi dei Mese e dei Giorni Gregoriani in islamico? NSDate

uscita sto ottenendo in arabo:

١٢ الأحد ، اكتوبر ، ٢٠١٢ che in inglese è Sunday, October 28, 2012

uscita che voglio:

Al-Ahad, Dul-Hijja 12, 1433

Snippet:

NSDateFormatter *islamicFormatter = [[NSDateFormatter alloc]init]; 
[islamicFormatter setDateStyle:NSDateFormatterFullStyle]; 
[islamicFormatter setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"ar_SA"]]; 
NSString *islamicDateString = [islamicFormatter stringFromDate:islamicDate]; 
NSLog(@"%@",islamicDateString); 

spero è chiaro f o voi ragazzi.

+0

sono date ebraiche e date arabe uguali? – pordi

+0

Per favore scusami. Ho controllato la differenza ed è completamente diverso. Si prega di controllare la risposta qui sotto e fammi sapere se questo aiuta. – pordi

+0

sono completamente diversi :) – Sobiaholic

risposta

9

penso che questo aiuterebbe

NSCalendar * hijri = [[NSCalendar alloc] initWithCalendarIdentifier:NSIslamicCalendar]; 

NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateStyle:NSDateFormatterLongStyle]; 
[formatter setTimeStyle:NSDateFormatterNoStyle]; 
[formatter setCalendar:hijri]; 

NSLog(@"hijri: %@", [formatter stringFromDate:[NSDate date]]); 
[formatter release]; 
+0

è possibile controllare i dettagli su http://stackoverflow.com/questions/4354337/hijri-islamic-calendar-problem – pordi

+0

In realtà ho controllato questa risposta prima di pubblicare la mia domanda. Tuttavia, questo codice mostrerà solo la data numerica. gg/mm/aaaa. Penso che il problema chiave sia in 'NSDateFormatter' in particolare in' setDateStyle'. – Sobiaholic

+0

Ho aggiornato la risposta Si prega di verificare se funziona – pordi

1

So che questo post è piuttosto vecchio, ma penso che sia necessario aggiungere il codice Swift 3 come sotto per altro riferimento.

let hijri = Calendar(identifier: .islamic) 

let formatter = DateFormatter() 
formatter.calendar = hijri 
formatter.dateFormat = "d MMMM yyyy" 

let today = Date() 
let dateString = formatter.string(from: today) 

print(dateString) 

// the output: 16 Jamada II 1438 
Problemi correlati