作業#6(SwiftUI) 倒數計時 — Date Picker 和 Date 的練習

不知世界何時末日,加上本人比較自戀,所以以世界人均壽命來計算自己尚有多少年在人間。

本來DatePicket想以特定日期(如1997年7月1日)作為預設日期,但怎樣試也試不到,所以退而求其次,以當日日期減30年:


let dateComponents = DateComponents(calendar: Calendar.current, year: 2018, month: 2, day: 7, hour: 18, minute: 30, second: 20)
@State private var birthDay: Date = dateComponents ?? Date() //行不通的code,有error的。 //最後
@State
private var birthDay: Date = Calendar.current.date(byAdding: DateComponents(year: -30), to: Date()) ?? Date()

另外,也要特別多謝Stack Overflow上的好心人士指點,用以下func去計算一個日期和一個計算過的日期相減:

func remainingYearsString(for date: Date) -> String? {   guard let expectancyEndOfLife = Calendar.current.date(byAdding: .year, value: 73, to: date) else {   return nil   }return formatter.string(from: .now, to: expectancyEndOfLife)}

GIF:

--

--