作業#6(SwiftUI) 倒數計時 — Date Picker 和 Date 的練習
Published in
Jul 29, 2022
不知世界何時末日,加上本人比較自戀,所以以世界人均壽命來計算自己尚有多少年在人間。
本來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: