8

dayイスラムの現在の名前、名前を表示しようとしていますmonth。NSLocaleを使用して地域をに設定しましたがar_SA、これは曜日と月の名前を英語からアラビア語に変換しているだけです。

アラビア語で取得している出力:

١٢ الأحد ، اكتوبر ، ٢٠١٢ これは英語で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);

皆さんにとってそれが明確であることを願っています。

4

2 に答える 2

10

これは役立つと思います

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];
于 2012-10-28T15:19:40.233 に答える
3

この投稿はかなり古いことは知っていますが、他の参考のために以下のようにSwift3コードを追加する必要があると思います。

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
于 2017-03-15T03:26:34.487 に答える