- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
谁能帮帮我
我正在尝试使用 Swift 语言创建一个 IOS 应用程序,我需要使用回历(伊斯兰)日历
我试了很多次都失败了:(
这是我的尝试
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)
输出错误
2576-04-25 09:05:08 +0000
我们在回历 1434 年而不是 2576 年!
最佳答案
您混淆了日历、日期和组件:
let datenow = NSDate()
// This is a point in time, independent of calendars
let calendar = NSCalendar.currentCalendar()
// System calendar, likely Gregorian
let components = calendar.components(NSCalendarUnit(UInt.max), fromDate: datenow)
// Gregorian components
println("\(components.year)") // "2014"
var islamic = NSCalendar(identifier:NSIslamicCivilCalendar)! // Changed the variable name
// *** Note also NSCalendar(identifier:) now returns now returns an optional ***
var date = islamic.dateFromComponents(components)
// so you have asked to initialise the date as AH 2014
println(date)
// This is a point in time again, sometime in AH 2014, or AD 2576
你需要做的很简单:
let datenow = NSDate()
let islamic = NSCalendar(identifier:NSIslamicCivilCalendar)!
let components = islamic.components(NSCalendarUnit(UInt.max), fromDate: datenow)
println("Date in system calendar:\(datenow), in Hijri:\(components.year)-\(components.month)-\(components.day)")
//"Date in system calendar:2014-09-25 09:53:00 +0000, in Hijri:1435-11-30"
要获得格式化的字符串,而不仅仅是整数部分,您需要使用 NSDateFormatter
,这将允许您指定日历和日期以及格式。参见 here .
更新
简单地将数字音译为(Eastern) Arabic numerals (因为 0...9 被称为(西方)阿拉伯数字以区别于罗马数字),根据要求,您可以使用:
let sWesternArabic = "\(components.day)-\(components.month)-\(components.year)"
let substituteEasternArabic = ["0":"٠", "1":"١", "2":"٢", "3":"٣", "4":"٤", "5":"٥", "6":"٦", "7":"٧", "8":"٨", "9":"٩"]
var sEasternArabic = ""
for i in sWesternArabic {
if let subs = substituteEasternArabic[String(i)] { // String(i) needed as i is a character
sEasternArabic += subs
} else {
sEasternArabic += String(i)
}
}
println("Western Arabic numerals = \(sWesternArabic), Eastern Arabic numerals = \(sEasternArabic)")
关于ios - 快速回历(伊斯兰)日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26034840/
我知道这个问题被问了很多次,但我没有找到正确的方法。我有一个 String日期如 01-08-1994。我想将其转换为 Hijri日期。 使用 IslamicCalendar . 最佳答案 java.
我一直在努力为移动应用程序寻找良好的国际日历支持(包括 Hirji)。我的主要限制是 JVM 是 1.3 并且我们只有 AWT。有一个选项可以转移到另一个为我们提供 SWT 的 JVM,但我似乎找不到
我的应用程序是关于回历(伊斯兰)日历的,但默认的 android CalendarView 是公历!如何自定义 Android 日历 View ?! 我需要这样的东西: 最佳答案 您好,请访问所有给定
参见 SO 15728744和 SO 51058875 . 以下怎么可能是正确的: LocalDate gregorianDate = LocalDate.parse(gregorianString,
我会将公历日期转换为回历(伊斯兰)日期。可能在网上搜索后,我找到了一个源代码来转换它。我将代码从 Java 和 PHP 转换为 C base。 该工具有时可以毫无问题地工作。但是有些日子有问题。 我需
有没有办法为 Hijri(伊斯兰)日历而不是默认日历构建日期选择器? 最佳答案 您可以使用 HijriDatePicker Library : 提供日期和时间选择器。 同时支持公历和回历(使用 umm
This是一个 DHTML 公历小部件。我正在尝试制作一个 Hijri(波斯日历 - Jalali)小部件。有人有什么想法吗? 最佳答案 试试这个网站,它包含 JQuery 日历: http://ke
2022 年 3 月 3 日是这个回历月的结束(今年 1443 AH 的 Rajab 月);即 30 Rajab 1443 AH。 根据伊斯兰(回历)日历,根据所有网站、应用程序、MS Office
我是一名优秀的程序员,十分优秀!