如何将波斯日期转换为快速的格里高利

时间:2016-12-07 20:03:23

标签: ios swift date

我想在"波斯日期和格里高利"之间转换数据?在迅速。我正在研究算法来帮助我在它们之间进行转换,但我真的不明白如何实现它们。

如果他们是现有的在Swift工作的方式,请指点我。

提供和示例也将受到赞赏。

3 个答案:

答案 0 :(得分:15)

Swift 3的更新:

let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/yyyy"
formatter.calendar = Calendar(identifier: .gregorian)
let date = Date()
let dateInGrogrian = formatter.string(from: date)

print(dateInGrogrian)

formatter.calendar = Calendar(identifier: .persian)
formatter.dateFormat = "dd/MM/yyyy"
print("Converted date to Hijri = \(formatter.string(from: date))")

答案 1 :(得分:1)

我遇到问题,因为我正在运行swift 2 NOT 3.(我现在正在更新Xcode)

这里是上面代码的修复程序,供人们查看从Swift 2到Swift 3的更改

import UIKit

let formatter = NSDateFormatter()
formatter.dateFormat = "yyy/MM/dd"
formatter.calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
let date = NSDate()
let dateInGrogrian = formatter.stringFromDate(date)

print("Date in Grogrian = \(dateInGrogrian)")

formatter.calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierPersian)
formatter.dateFormat = "yyy/MM//dd"
print("Converted date to Jalali = \(formatter.stringFromDate(date))")

答案 2 :(得分:0)

对于Swift 5:格式在一年中变化不大

let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/YYYY"
formatter.calendar = Calendar(identifier: .gregorian)
let date = Date()
let dateInGrogrian = formatter.string(from: date)

print(dateInGrogrian)

formatter.calendar = Calendar(identifier: .persian)
formatter.dateFormat = "dd/MM/YYYY"
print("Converted date to Hijri = \(formatter.string(from: date))")