Swift — 給個時間吧( Date & DatePicker)

抓取日期和時間來做一個簡單的 APP。

Jeremy Xue
3 min readJul 17, 2018

前言:

昨天我們簡單的介紹一下了 Date 的應用,今天我們來利用 Date 和 DatePicker 來做一個簡單的應用吧!

簡單的計算日期與顯示當前時間

實作:

#顯示當前時間

首先我們簡單設計一個顯示當前時間的功能,並在每次畫面顯示時都更新我們當前的時間,並提供一個 Refresh 按鈕讓使用者刷新,在點選我們刷新按鈕的時候呼叫下列方法:

刷新當前時間方法

之後我們會將這個 getCurrentTime 方法在我們的 Refresh 按鈕點擊與 viewWillAppear 上調用,就能更新至我們當前的時間。

刷新當前時間

#距離當前時間

接下來我們要新增一個「 DatePicker 時間距離現在還有多久?」功能,所以我們會新增一個 DatePicker,然後我們希望每次調整完 DatePicker 都會即時顯示結果,因此我們會將 DatePicker 新增一個「 Value Changed 」的 Action

新增 DatePicker Outlet 與 Action:ValueChanged

接著我們在 DatePicker 的 Value Changed 方法中,簡單的顯示 DatePicker 選擇的時間,將它印在我們 Label 上:

daysLeftLabel.text = "\(datePicker.date)"
顯示 DatePicker.date

# 換算成日期距離

我們可以透過 .timeIntervalSinceNow 來抓取 datePicker 上的時間與當前時間的時間戳( Time stamp ),透過時間戳的結果來換算成我們所需的距離:

我們的 TimeInterval 都是以毫秒為單位計算的,因為我們不需要毫秒的值,所以我們先將它轉為 Int,得出的結果就是距離當前時間的秒數。

經由基本的時間換算就能得出時間的距離:

計算距離 DatePicker 時間還有多久

#額外功能:

滾動至當前時間

我在判斷假如時間超過過去1分鐘,我們除了跳出警告視窗之外,我們還讓它滾至當前時間,我們可以使用 DatePicker 中 setDate 方法讓其滾動至當前時間:

後記:

透過上面的幾個小型實作,相信大家對於 Date 的基本應用及時間換算都能應用了,這邊附上這個小型的Date Demo,感謝收看:

--

--

Jeremy Xue
Jeremy Xue

Written by Jeremy Xue

Hi, I’m Jeremy. [好想工作室 — iOS Developer]

No responses yet