App Inventor學習記錄171-截止日期倒數計時器,時間改成 24小時制

這次利用計時器、日期選擇器以及時間選擇出,做截止日期倒數計時器

記錄一下:
App Inventor學習記錄171-截止日期倒數計時器,時間改成 24小時制


這次範例的完成品如下。

從日期選擇器選擇日期之後,就會開啟時間選擇器。
從時間選擇器選擇時間之後,就出現截止日期倒數時間。


畫面編排的部份如下。

這次主要用到的元件是計時器元件。


全部的程式方塊如下。


第 1部份的程式方塊記錄。

變數_設定的時間,這是用來取從日期選擇器和時間選擇器設定出來的時間。
變數_還有多久,這個是用來計算設定的時間和當下的時間差。


第 2部份的程式方塊記錄。

當日期選擇器選擇之後,設定一下標籤 3的顯示內容。
call 時間選擇器.launchpicker,呼叫日期選擇器執行。


第 3部份程式方塊記錄。

時間選擇器選擇之後,再設定一下標籤 3的內容。
然後把變數_設定的時間,用 call clock1.make instant from part方塊,來建立一個時間時刻。用這個方塊的時候,要把年月日時分秒的位置都填數值上去

由於這裡抓的是我們設定的時間,所以年月日的部份,可以接日期選擇器的選中的內容,時跟分的部份也是一樣,但時間選擇器沒有秒的選項可以用,所以在這裡我們用 call clock 1.second的方塊來取當下的秒數,instant時刻的地方放入 call clock1.now當下的時刻。

接著我們把 label 4和 label 7的顯示文字設定一下。顯示的內容則是用 call clock1.from date time方塊來把變數_設定的時間這一個時間時刻,顯示成 pattem的內容。
這裡請大家看一下 lable 4和 labe7中 pattem的內容不同。
假設我們設定的日期是 2022.02.21,晚上10點30分20秒。
那麼 pattem設定成 yyyy/MM/dd HH:mm:ss,就會顯示成 2022/02/21 22:30:20
pattem設定成 yyyy/MM/dd HH:mm:ss,就會顯示成 2022/02/21 10:30:20 下午
這裡的時間格式有區分大小寫,所以在使用的時候要注意一下。
更多的時間格式也請參考
https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html


第 4部份的程式方塊記錄。

當計時器開始計時的時候。
把變數_還有多久,用 call clock 1.duration方塊,取得變數_設定的時間call clock1.now當下的時間的時間間隔是幾毫秒。這個要注意的是call clock 1.durtion方塊取得的值,是毫秒值

然後判斷一下變數_還有多久的值大於 0或是小於 0,分別設定 label5的顯示文字。

把變數_還有多久的毫秒值變成時分秒年月日的數用,再讓它顯示在 label 6上。


要把時間隔式從 12小時制轉成 24小時制,就只差在把 hh改成 HH。如果大家對時間格式有什麼問題的話,建議可以先看一下 app inventor關於時間格式的設定。
http://ai2.appinventor.mit.edu/reference/components/sensors.html#Clock

這次的 aia檔的下載連結如下:
NO_171_Deadline_timer.aia

app inventor交流討論群組連結如下(掃描 QR code或是點擊連結皆可)
https://line.me/ti/g2/Loxwrcc2iNRS5-Qd4SFXxQ?utm_source=invitation&utm_medium=link_copy&utm_campaign=default

參考書籍請見博客來書籍介紹頁面:
手機應用程式設計超簡單 App Inventor 2零基礎入門班
TQC+ 創意App程式設計認證指南
TQC+創意App程式設計認證指南解題秘笈
手機應用程式設計超簡單:App Inventor 2初學特訓班
手機應用程式設計超簡單:App Inventor 2小專題特訓班
手機應用程式設計超簡單:App Inventor 2資料庫專題特訓班

之前介紹過的一些 appinventor的使用記錄,都整理在下面這個頁面上了。
APP INVENTOR學習記錄及資源整理頁面

發佈留言