DateComponentsFormatterを組み込んで、現在の日付と別の日付の間の年数を計算しています。日付は、たとえば1940年のために、過去に遠くなった場合は、返された単位が間違っている:DateComponentsFormatterは過去の日付では動作しません
let dateComponents = DateComponents(year: 1940, month: 1, day: 2, hour: 1, minute: 1, second: 1)
let date = Calendar.current.date(from: dateComponents)!
let dateComponentsFormatter = DateComponentsFormatter()
dateComponentsFormatter.allowedUnits = [.year]
dateComponentsFormatter.unitsStyle = .full
print(dateComponentsFormatter.string(from: abs(date.timeIntervalSinceNow)))
これは間違ってい-58 years
を印刷します。これはAppleのバグですか?私は何か間違っているのですか?
'プリント(dateComponentsFormatter.string(から:日付、へ:日付())?? "")私もしようとした' –
@LeoDabusのおかげそれは良いですが、常に同じ価値を与えるわけではありません...ときには70歳、時には69歳 – Stephen
それは私に77歳を与える –