2016-04-03 70 views
0

我正在PySide(QcalendarWidget)中編寫日曆的每週時間表。例如,在第一週,我希望本週的每一天都有任務A,B,C,D。字典每個月的第一週(第7天)是這樣的:Qdate,獲取月的第一天

FirstWeekTasks={1:["A","B"],3:["C","D"],5:["A","D"]} 

其中1,圖3,和圖5是當前月的第一,第三和第五日。

我該怎麼做? 感謝

+0

你想要的月份的第1,3和5日的日期? –

+0

預期輸出? – Pythonista

+0

@BrendanAbel換句話說,我想爲當前月份設置任務。每週有不同的任務集。 –

回答

0

使用time模塊:

>>> import time 
>>> time.localtime().tm_mday 
4 

使用datetime模塊:

>>> import datetime 
>>> datetime.datetime.now().day 
4 
0

你可以用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()可以採取正數要及時前進,負數要倒退。

相關問題