使用不同的日历标识符格式化 NSDate?

Format NSDate with different calendar identifier?

我正在尝试打印具有不同日历标识符的人性化日期。我能够获取日期,但是当我格式化它时,它会输出回公历(或者我认为是用户当前的日历)。

这是我正在尝试的:

var calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierIslamicCivil)
var flags = NSCalendarUnit(UInt.max)
var components = calendar?.components(flags, fromDate: NSDate())

let formatter = NSDateFormatter()
formatter.dateStyle = NSDateFormatterStyle.LongStyle

let dateString = formatter.stringFromDate(calendar!.dateFromComponents(components!)!)

println(dateString)

这会打印:May 8, 2015,但我正试图让它打印 Rajab 19, 1436。这可能吗?

只需添加以下行

formatter.calendar = calendar