我正在PySide(QcalendarWidget)中編寫日曆的每週時間表。例如,在第一週,我希望本週的每一天都有任務A,B,C,D。字典每個月的第一週(第7天)是這樣的:Qdate,獲取月的第一天
FirstWeekTasks={1:["A","B"],3:["C","D"],5:["A","D"]}
其中1,圖3,和圖5是當前月的第一,第三和第五日。
我該怎麼做? 感謝
我正在PySide(QcalendarWidget)中編寫日曆的每週時間表。例如,在第一週,我希望本週的每一天都有任務A,B,C,D。字典每個月的第一週(第7天)是這樣的:Qdate,獲取月的第一天
FirstWeekTasks={1:["A","B"],3:["C","D"],5:["A","D"]}
其中1,圖3,和圖5是當前月的第一,第三和第五日。
我該怎麼做? 感謝
使用time
模塊:
>>> import time
>>> time.localtime().tm_mday
4
使用datetime
模塊:
>>> import datetime
>>> datetime.datetime.now().day
4
你可以用QDate.addDays()做到這一點。
開始從日曆插件的選擇日期:
>>> seldate = calwidget.selectedDate()
>>> seldate
PySide.QtCore.QDate(2016, 4, 19)
然後獲取所選日曆月所需的日子,只是減去day():
>>> seldate.day()
19
>>> seldate.addDays(1 - seldate.day()) # first
PySide.QtCore.QDate(2016, 4, 1)
>>> seldate.addDays(3 - seldate.day()) # third
PySide.QtCore.QDate(2016, 4, 3)
>>> seldate.addDays(5 - seldate.day()) # fifth
PySide.QtCore.QDate(2016, 4, 5)
所以addDays()
可以採取正數要及時前進,負數要倒退。
你想要的月份的第1,3和5日的日期? –
預期輸出? – Pythonista
@BrendanAbel換句話說,我想爲當前月份設置任務。每週有不同的任務集。 –