【问题标题】:Gregorian to Hijri (vise versa) [closed]公历到回历(反之亦然)[关闭]
【发布时间】:2015-09-25 14:32:34
【问题描述】:

源码来自

Hijri (islamic) calendar in swift التاريخ الهجري

How can I convert string date to NSDate?

我只是把它们放在一起,但输出有一些错误

    let dateFormatter = NSDateFormatter()

    dateFormatter.dateFormat = "YYYY-MM-DD"

    let GregorianDate = dateFormatter.dateFromString("\(Yeartext1.text!)-\(Monthtext1.text!)-\(Daytext1.text!)")

    let islamic = NSCalendar(identifier: NSIslamicCalendar)

    let components = islamic?.components(NSCalendarUnit(rawValue: UInt.max), fromDate: GregorianDate!)

    resultlable.text = "\(components!.year) - \(components!.month) - \(components!.day)"

例如,用户将输入一个公历日期 (2015/09/29),它将显示回历年 (1436/12/15)。

但是这段代码的结果是错误的。

所以,请帮忙。

非常感谢 x4h1d (https://stackoverflow.com/users/1459192/x4h1d)、Grimxn (https://stackoverflow.com/users/3729417/grimxn) 和大家的帮助。

【问题讨论】:

  • 不要只要求我们为您编写代码。你试过什么?请发布您正在进行的 Swift 实现。
  • 我会将语言环境设置为公历,从公历输入创建通用时间戳,将语言环境设置为回历,然后从通用时间戳创建回历输出。
  • 抱歉,这是我的第一篇文章。非常感谢

标签: swift date math formula


【解决方案1】:

您应该使用 NSDate 和 NSDateFormatter 进行日期转换。

This question 可能会对您有所帮助。

Apple 的documentation 也提供了很多有用的信息。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-08
  • 2012-02-16
  • 2013-08-16
  • 2012-06-27
  • 2017-02-05
相关资源
最近更新 更多