作者:JiawuZhang出品:JiawuLab(ID:jiawulab)
微項目系列是JiawuLab原創欄目,每期選取一個自創項目或發現有趣的項目,進行代碼、邏輯分析,達到python學習目的。
大家好,我是JiawuZhang,本期微項目是——事件倒計時。
項目介紹
「11月11日0點0分0秒!」
你是不是也在等著這個時間?
看看電視,玩玩手機,刷刷購物車,只為等著這個時間到來。
我老婆也是這樣,為了0點的到來,能更清醒的付款,她提前在5點補了兩小時的睡眠。
現在的狀況就是,打開電視,放著奇葩說當背景音樂(平日可是很認真的觀看,哎。。。)
然後刷著手機,對著手抄版的購物車商品,做著最後的檢閱工作
我覺得平時工作狀態,肯定都沒有這陣勢。
於是就想到之前做過的一個事件倒計時功能。
此時此刻,可以改為另一個名字——雙十一倒計時。
項目分析
我們來分析一下,當拿到這個需求後,應該怎麼開始呢。
1、需要獲得事件名稱和目標時間,所以想到了「input()」,我們連著兩期都會經常用到,是一個很熟悉的方法
2、計算時間差,這裡就需要先獲得現在的時間,需要用到「datetime」模塊,可獲得日期的功能,再計算現在時間到目標時間的差
這裡有個坑需要踩,就是目標時間是輸入進來的,屬於「字符串」類型,但「datetime」獲得現在時間類型不同
所以需要進行類型轉換,這個我們後面碼代碼中會演示。
3、有了時間差,就可以做倒計時,這裡需要用到「print」的一種屬性,可以達到這個要求
碼代碼
項目過程分析後,是不是覺得很簡單,但是如果真的動手來寫時,就會發現,有些點需要想的更多點
比如目標時間輸入「2019.11.11」、「2019/11/11」、「2019-11-11」,都應該可以,如果只支持一種,程序限制太大
比如時間差,我們希望能分出多少天、多少小時、多少分鐘、多少秒,這樣就需要將時間差分解
這兩個點,是不是覺得沒有想的那麼容易了,項目很簡單,但是要想寫好,需要多想點
我們來分解成,一步步的過程:
1、獲得事件名稱和目標時間
2、時間格式轉化
3、倒計時
好了,分解結束,我將完整代碼貼出來,並做項目結果的演示。
完整代碼
廢話不多說,直接上代碼:
演示效果如下:
一個簡單的事件倒計時功能就完成了,演示效果還不錯。
當然,你還可以按自己的需求,豐富更多功能。
比如,倒計時結束後,可以設置電腦發出聲音提醒等。
另外,我正在做一個新項目,就是把倒計時中一部分代碼進行改造,結合圖片自動生成,與公眾號做聯動。
目前項目做最後的調試,等上線了,會與大家分享的。
好了,離雙十一狂歡夜只剩一個多小時,大家準備準備,拼手速的時候到了。
本次的微項目——事件倒計時——分享結束。如果您喜歡這期文章,請麻煩點讚,支持一下。
歡迎您關注我,或者給我留言,說說你遇到的問題,我們一起探討。