実行環境、Xcode 9.2 + Swift 4.0
let calendar = Calendar(identifier: .gregorian)
for year in 2010...2020 {
var components = DateComponents()
components.year = year
components.month = 1
components.day = 1
let date1 = calendar.date(from: components)!
components.year = year + 1
components.month = 1
components.day = 1
let date2 = calendar.date(from: components)!
components = calendar.dateComponents([.day], from: date1, to: date2)
print("\(year)年 \(components.day!)日")
}
結果。うるう年は366日になっています。
2010年 365日
2011年 365日
2012年 366日
2013年 365日
2014年 365日
2015年 365日
2016年 366日
2017年 365日
2018年 365日
2019年 365日
2020年 366日