问题描述
伊斯兰日历正在更新(月相阶段)。例如,斋月可能少过1天或更多天。但这无法预测,而且结果会在月底发布。因此,以下代码有时将无法正常工作:
func islamicDate(of formattedDate: String) -> String {
let timezone = TimeZone(abbreviation: "irsT")!
// Get the date
var inputCalendar = Calendar(identifier: .persian)
inputCalendar.timeZone = timezone
let inputFormatter = DateFormatter()
inputFormatter.calendar = inputCalendar
inputFormatter.dateFormat = "yyyy/MM/dd"
inputFormatter.timeZone = timezone
let date = inputFormatter.date(from: formattedDate)!
// Convert the date
var outputCalendar = Calendar(identifier: .islamic)
outputCalendar.timeZone = timezone
let outputFormatter = DateFormatter()
outputFormatter.calendar = outputCalendar
outputFormatter.dateFormat = "dd MMMM"
outputCalendar.timeZone = timezone
let outputFormattedDate = outputFormatter.string(from: date)
return outputFormattedDate
}
例如,给1399/06/04
将导致:
06穆罕默德
但有望成为
05穆哈拉姆
尽管在其他时区中是正确的,但在irsT
中是错误的。如何与时区的当前时间同步?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)