为什么日期序数计算在iOS 12中会发生变化?

时间:2019-03-21 00:44:42

标签: 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 = 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日,即公历生效后两天(来源:{ {3}})

那么,这是怎么回事?为什么在iOS 12中会发生这种变化?

0 个答案:

没有答案