尝试将一些简单的数字加在一起。在最后一行得到“表达式太复杂,无法在合理的时间内解决......”错误。为什么?当然不能简单得多吗?
let year = calendar.component(.CalendarUnitYear, fromDate: inputGregorianDate)
let month = calendar.component(.CalendarUnitMonth, fromDate: inputGregorianDate)
let day = calendar.component(.CalendarUnitDay, fromDate: inputGregorianDate)
// Conversion Calulation
let AGR = year/100
let BGR = AGR/4
let CGR = 2 - AGR + BGR
var EGR = 0.00
if (month <= 2 ) {
EGR = 365.25 * Double(year + 4716)
} else {
EGR = 365.25 * Double(year + 4716);
}
let FGR = 30.6001 * Double(month + 1);
let dateJulian = Double(CGR + day + EGR + FGR - 1524.5)
答案 0 :(得分:1)
// Conversion Calulation
let AGR = Double(year) / 100
let BGR = AGR / 4.0
let CGR = 2.0 - AGR + BGR
var EGR = 0.0
// this conditional doesn't make any sense
if (month <= 2 ) {
EGR = 365.25 * Double(year + 4716)
} else {
EGR = 365.25 * Double(year + 4716)
}
let FGR = 30.6001 * Double(month + 1)
let dateJulian = CGR + Double(day) + EGR + FGR - 1524.5