#40 倒數計時 — Date Picker 和 Date 的練習
目的: 學習使用 Date Picker,Date 和將 Date 變成字串。
就算世界末日,我們還是要寫 App ! 在世界末日來臨之前,讓我們用最後的力量完成倒數計時 App 吧。
用 Date Picker 設定世界末日的時間,點選現在時間的按鈕更新現在時間。在畫面上顯示世界末日的時間,現在時間和距離世界末日還有幾天幾小時幾分幾秒。
ps: 不一定要做世界末日,比方也有同學做學測倒數計時,電影上映的倒數計時等。
進階功能
搭配 timer 持續更新現在時間和倒數的時間。
恐怖版
提示
顯示時間選擇的元件
利用 Date Picker。
取得現在時間
let now = Date()
時間轉字串 ( Date to String)
可利用 DateFormatter 將 Date 變成 String,然後再用 DateFormatter 的 dateFormat 設定字串的格式。
範例
let now = Date()
let formatter = DateFormatter()
formatter.dateFormat = "yyyy MM dd"
let dateString = formatter.string(from: now)
結果
2018 07 14
關於 dateFormat 的格式,可參考以下連結。
從 Date Picker 取得選取的時間
計算兩個 Date 相差的秒數
timeIntervalSince(_:)
假設變數 date1 & date2 的型別都是 Date,以下程式可得到相差的秒數。
let interval = date1.timeIntervalSince(date2)
有興趣的也可進一步研究以下計算 Date 相差時間的方法
dateComponents(_:from:to:)
若想生成特定時間的 Date,則可參考以下連結