为什么iOS 12中的日期顺序计算发生了变化?
在操场上试试下面的方法。在iOS 12之前,它适用于所有输入(从1开始): 投入将等于产出为什么iOS 12中的日期顺序计算发生了变化?,ios,nsdate,ios12,Ios,Nsdate,Ios12,在操场上试试下面的方法。在iOS 12之前,它适用于所有输入(从1开始): 投入将等于产出 let input = 1 let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd" var dateComponents = DateComponents() dateComponents.day = input dateComponents.hour = 0 dateComponents.minute =
let input = 1
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
var dateComponents = DateComponents()
dateComponents.day = input
dateComponents.hour = 0
dateComponents.minute = 0
dateComponents.second = 0
let date = Calendar.current.date(from: dateComponents)
let dateString = dateFormatter.string(from: date!)
let date2 = dateFormatter.date(from: dateString)
let output = Calendar.current.ordinality(of: .day, in: .era, for: date2!)
assert(output==input)
但是,现在在iOS 12中,输出和输入将仅从输入577738开始相等。。。日期:1582年10月17日,即公历生效后两天(来源:)
那么,这是怎么回事?为什么iOS 12会发生这种变化