2012-10-28 40 views
7

我試圖顯示伊斯蘭電流day名稱,month名稱。我使用NSLocale將區域設置爲ar_SA,但它只是將日期和月份名稱從英語翻譯爲阿拉伯語。將公曆的月份和日期名稱改爲伊斯蘭教? NSDate

輸出我得到阿拉伯語:

١٢ الأحد ، اكتوبر ، ٢٠١٢在英語裏Sunday, October 28, 2012

輸出我想:

Al-Ahad, Dul-Hijja 12, 1433

段:

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

希望很明顯f或者你們。

+0

是希伯來文的日期和阿拉伯文的日期是否一樣? – pordi

+0

請原諒。我檢查了它們的區別,它完全不同。請檢查下面的答案,並告訴我是否有幫助。 – pordi

+0

他們是完全不同的:) – Sobiaholic

回答

9

我認爲這將有助於

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

你可以檢查詳細信息在http://stackoverflow.com/questions/4354337/hijri-islamic-calendar-problem – pordi

+0

其實我在我發佈我的問題之前檢查了這個答案。但是,此代碼只會顯示數字日期。 dd/mm/yyyy。我認爲關鍵問題在'NSDateFormatter'中,特別是在'setDateStyle'中。 – Sobiaholic

+0

我已更新答案請檢查是否可行 – pordi

1

我知道這個職位是很老,但我認爲這是必要的,如下添加斯威夫特3代碼其他參考。

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 
相關問題