首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >التاريخالهجري中的Hijri (伊斯兰)日历

التاريخالهجري中的Hijri (伊斯兰)日历
EN

Stack Overflow用户
提问于 2014-09-25 09:17:40
回答 4查看 8.7K关注 0票数 12

有人能帮帮我吗?

我正在尝试用Swift语言创建一个IOS应用程序,我需要使用Hijri (伊斯兰)日历

我试了很多次,但失败了。

这是我的尝试

代码语言:javascript
复制
    let datenow = NSDate()
    let calendar = NSCalendar.currentCalendar()
    let components = calendar.components(NSCalendarUnit(UInt.max), fromDate: datenow)

    var gregorian = NSCalendar(identifier:NSIslamicCivilCalendar)
    var date = gregorian.dateFromComponents(components)

    println(date)

输出是错误的

代码语言:javascript
复制
   2576-04-25 09:05:08 +0000

我们是在1434年,在hijri,而不是2576!

EN

回答 4

Stack Overflow用户

发布于 2017-03-19 09:11:11

得到Hajri的约会日期:

Swift :

代码语言:javascript
复制
 let dateFor = DateFormatter()

 let hijriCalendar = Calendar.init(identifier: Calendar.Identifier.islamicCivil)
 dateFor.locale = Locale.init(identifier: "ar") // or "en" as you want to show numbers

 dateFor.calendar = hijriCalendar

 dateFor.dateFormat = "dd/MM/yyyy"
 print(dateFor.string(from: Date()))

Obj-C :

代码语言:javascript
复制
NSCalendar *hijriCalendar2 = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierIslamicCivil];
NSDateFormatter * lastDate = [[NSDateFormatter alloc]init];

lastDate.calendar = hijriCalendar2;
[lastDate setDateFormat:@"dd/MM/yyyy HH:mm:ss"];

NSString * dateString = [lastDate stringFromDate:[NSDate date]];
票数 7
EN

Stack Overflow用户

发布于 2014-09-27 03:09:00

谢谢你@Grimxn和我也找到了一个展示阿拉伯数字的好方法

代码语言:javascript
复制
    let formatter = NSNumberFormatter()
    formatter.locale = NSLocale(localeIdentifier: "ar_SA")

    var date:String = "\(formatter.stringFromNumber(components.year))-\(formatter.stringFromNumber(components.month))-\(formatter.stringFromNumber(components.day))"

它将打印١-١١-١٤٣٤

票数 4
EN

Stack Overflow用户

发布于 2017-08-01 23:43:31

Swift 3& 4

代码语言:javascript
复制
let dateNow = DateFormatter()
let islamicCalendar = Calendar.init(identifier: Calendar.Identifier.islamicCivil)
dateNow.calendar = islamicCalendar
dateNow.locale = Locale.init(identifier: "ar_SA") // This is used to show numbers, day and month in arabic letters
dateNow.dateFormat = "EEE dd MMM yyyy"

print("\(dateNow.string(from: Date()))")

查找并放置日期格式:http://userguide.icu-project.org/formatparse/datetime

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26034840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档