2019年7月16日 星期二

Google行事曆的快速連結II

上篇提到,我的小程式只幫我略去打開瀏覽器的步驟,但其實我的終極目標是儘量減少敲鍵盤,所以我想讓程式幫我先輸好一些東西。所以如何設計出現在Tkinker視窗裡的預設值就是另一個思考的重點了,但如何讓會議名稱和日期自己更新呢?

以下為個人工作之經驗,也許無法套用到你的工作,但希望能給你們踩著前進,得到些略微的啟發。

因為每週都開會,名稱基本上就是數字一直增加,其他文字都不動,這個程式最初是須我手動改掉數字(但我還是要記得到底現在是第幾次…),所以我在這裡用本週是今年第幾週和會議次數的差,計算下次是第幾次,然後直接在程式打開時就作為預設值,缺點當然是若中間略過一次開會就要回到程式去改,不過目前先這樣頂著用,我已有另一想法,但等有空再弄了。

要先import datetime,這個會一直用到,再呼叫datetime.datetime.now().strftime(“%U"),其中%U可以回傳現在是今年第幾週,其他參數可參考這裡,後面的68就是次數和週數差值。

Import datetime

dangZhou=str(int(datetime.datetime.now().strftime(“%U"))+68)

另外,這個會議都是禮拜一上午10點開,所以時間的部分就固定,但日期的部分我想要自動計算下個禮拜一的日期,所以我上stackflow找到了以下這一段簡潔的程式碼,2行就解決了這個問題(真是厲害),我懷著無比崇敬的心情複製了這行程式碼,第二行nextMonday(datetime.datetime.now(),0)裡的數字就是選擇要禮拜幾,週一是0、週二是1…以此類推。後面的.month是取月份值,改成.day可取日期。

import datetime

nextMonday = lambda date, day: date + datetime.timedelta(days=(day-date.weekday()+7)%7)

monthNext=nextMonday(datetime.datetime.now(),0).month # 0 = Monday, 1=Tuesday, 2=Wednesday…

今天先說到這,下次再聊。



from WordPress https://ift.tt/2NXieEs

沒有留言:

張貼留言