[小工具] 用 python 幫忙算疫苗追加劑時間

指揮中心宣布縮短第三劑的間隔時間,從原來的五個月縮到 12 週,也就是 84 天。

於是乎就開始出現一個問題,那我第二劑打完加上 84 天是幾月幾日? 我自己也是在那邊算了一下,想說要打電話去預約至少要知道哪時候可以開始打。

計算間隔多少天日期是多少,這種交給電腦算最適合不過,工程師魂就燃燒,直接用 python 做出解法,如果你知道怎麼 run python,那底下的程式碼貼過去執行,下完參數就知道間隔 84 天是幾月幾日了。

from datetime import timedelta, datetime
import argparse

def count_end_day(start_day: datetime, period: int):
    days = timedelta(days=period)
    end_day = start_day + days
    return end_day

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('-d', '--date', type=str, help="起始時間,格式 yyyymmdd")
    parser.add_argument('-p', '--period', type=str, help="間隔時間長度,天為單位,整數")
    args = parser.parse_args()

    start_day = datetime.strptime(args.date, "%Y%m%d")
    period = int(args.period)
    end_day = count_end_day(start_day, period)
    print(f"{datetime.strftime(start_day, '%Y-%m-%d')} 加上 {period} 天 : {datetime.strftime(end_day, '%Y-%m-%d')}")

if __name__ == "__main__":
    main()

上面的程式碼整個複製起來以後,貼到某一個檔案去,然後存為 xxx.py 這樣的格式,例如你把它放到 C:\Temp 底下,然後取名為 countdays.py ,接著開一個命令列視窗,直接到 C:\Temp 底下,打上

python countdays.py -d 20211120 -p 84

這樣你就可以看到類似底下的輸出:

直接就跟你講答案了,不用在那邊翻日曆翻半天。

原本是有打包為 .exe 的打算,後來做完以後執行一下發現小紅傘直接判定為有毒的執行檔,就打消這個念頭。

如果知道怎麼 run python ,有計算日期需要的人可以直接拿去用,可以省下很多算日曆的時間。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料