python日歷
㈠ 請教python+tkinter如何實現下拉日歷
有一個替代的方法,用ttk.combobox做成下拉列表的形式「2014-02-24」,初始值為當天的日期,緊接著是從今天到後20天的日期,
python+tkinter本身並不帶日歷控制項。
㈡ 如何通過python發送日歷郵件
方便起見,用代碼說話(只是最簡單的版本,各種定製需求可以參看rfc,不過很多效果需要客戶端的支持,支持的比較好的是outlook)
# encoding: utf-8
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
import os,datetime
def send_email(**kwargs):
"""
method
event
dtstart
e
msg
dtstamp
"""
ical = """
BEGIN:VCALENDAR\r\n
PRODID:pyICSParser\r\n
METHOD:%(method)s\r\n
VERSION:2.0\r\n
BEGIN:%(event)s\r\n
DTSTART:%(dtstart)s\r\n
DUE:%(e)s\r\n
PRIORITY:1\r\n
SUMMARY:%(msg)s\r\n
UID:[email protected]\r\n
SEQUENCE:0\r\n
DTSTAMP:%(dtstamp)s\r\n
STATUS:%(status)s\r\n
END:VEVENT\r\n
END:VCALENDAR\r\n
"""% kwargs
eml_body = u"%(msg)s" % kwargs
msg = MIMEMultipart('mixed')
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = u"%(msg)s" % kwargs
msg['To'] = ",".join(attendees)
part_email = MIMEText(eml_body,"html",'utf-8')
part_cal = MIMEText(ical,'calendar;method=%(method)s'%kwargs,'utf-8')
msgAlternative = MIMEMultipart('alternative')
msg.attach(msgAlternative)
ical_atch = MIMEBase('application/ics',' ;name="%s"'%("invite.ics"))
ical_atch.set_payload(ical)
Encoders.encode_base64(ical_atch)
ical_atch.add_header('Content-Disposition', 'attachment; filename="%s"'%("invite.ics"))
eml_atch = MIMEBase('text/plain','')
Encoders.encode_base64(eml_atch)
eml_atch.add_header('Content-Transfer-Encoding', "")
msgAlternative.attach(part_email)
msgAlternative.attach(part_cal)
s = smtplib.SMTP()
s.connect('xxxx')
s.login(' ', ' ')
s.sendmail('[email protected]', attendees, msg.as_string())
s.close()
attendees =['[email protected]']
fro = ""
ddtstart = datetime.datetime.utcnow()
r = datetime.timedelta(minutes= 5)
dtend = ddtstart + r
dtend = dtend.strftime("%Y%m%dT%H%M%SZ")
send_email(method='PUBLISH',event='VTODO',dtstart=dtend,e=dtend,msg='publish 任務',dtstamp=dtend, status="COMPLETED")
send_email(method='REQUEST',event='VTODO',dtstart=dtend,e=dtend,msg='request 任務',dtstamp=dtend, status="NEEDS ACTION")
send_email(method='PUBLISH',event='VEVENT',dtstart=dtend,e=dtend,msg='publish 日歷',dtstamp=dtend, status="CONFIRMED")
send_email(method='REQUEST',event='VEVENT',dtstart=dtend,e=dtend,msg='request 日歷',dtstamp=dtend, status='CONFIRMED')
㈢ 急求大神教如何在Python里編寫日歷
最簡單的就是直接調用系統命令cal,比如:
importos
year=2014
os.system("cal-y%s"%year)
2014
JanuaryFebruaryMarch
123411
567891011234567823456783031
AprilMayJune
JulyAugustSeptember
1234512123456
OctoberNovemberDecember
12341123456
56789101123456787891011121330
如果解決了您的問題請採納!
如果未解決請繼續追問
㈣ python 練習 輸入年月 輸出當年當月日歷 求代碼 重賞
如果要做成桌面應用的話,你還需要安裝eric4
就有點類似vc++,可以選擇控制項並添加代碼
㈤ 新手求助,如何用Python寫日歷讓三個月在在
直接使用pythoncalender模塊即可。
calendar.calendar(year,w=2,l=1,c=6)
返回一個多行字元串格式的year年年歷,3個月一行,間隔距離為c。每日寬度間隔為w字元。每行長度為21*W+18+2*C。l是每星期行數。
2. calendar.firstweekday()
返回當前每周起始日期的設置。默認情況下,首次載入caendar模塊時返回0,即星期一。
3. calendar.isleap(year)
是閏年返回True,否則為false。
4. calendar.leapdays(y1,y2)
返回在Y1,Y2兩年之間的閏年總數。
5. calendar.month(year,month,w=2,l=1)
返回一個多行字元串格式的year年month月日歷,兩行標題,一周一行。每日寬度間隔為w字元。每行的長度為7*w+6。l是每星期的行數。
6. calendar.monthcalendar(year,month)
返回一個整數的單層嵌套列表。每個子列表裝載代表一個星期的整數。Year年month月外的日期都設為0;范圍內的日子都由該月第幾日表示,從1開始。
7. calendar.monthrange(year,month)
返回兩個整數。第一個是該月的星期幾的日期碼,第二個是該月的日期碼。日從0(星期一)到6(星期日);月從1到12。
8. calendar.prcal(year,w=2,l=1,c=6)
相當於printcalendar.calendar(year,w,l,c).
9. calendar.prmonth(year,month,w=2,l=1)
相當於printcalendar.calendar(year,w,l,c)。
10. calendar.setfirstweekday(weekday)
設置每周的起始日期碼。0(星期一)到6(星期日)。
11. calendar.timegm(tupletime)
和time.gmtime相反:接受一個時間元組形式,返回該時刻的時間輟(1970紀元後經過的浮點秒數)。
12. calendar.weekday(year,month,day)
返回給定日期的日期碼。0(星期一)到6(星期日)。月份為1(一月)到12(12月)。
㈥ 如何用python編寫某年某月的日歷
importcalendar
print(calendar.month(2015,11))
㈦ python 怎麼寫日歷,求大神
importre
defcommand_add(date,event_details,calendar):
'''
Addevent_detailstothelistatcalendar[date]
Createdateifitwasnotthere
:paramdate:Astringdateformattedas"YYYY-MM-DD"
:paramevent_details:Astringdescribingtheevent
:paramcalendars:Thecalendarsdatabase
:return:astringindicatinganyerrors,""fornoerrors
'''
try:
p=re.compile(r"d{4}-d{2}-d{2}")
assertp.match(date),"ParamdatemustmatchYYYY-MM-DD"
assertisinstance(event_details,str),
"Paramevent_detailsmustbeastring"
ifdateincalendar:
calendar[date].append(str(event_details))
else:
calendar.update({date:str(event_details)})
exceptException,e:
returnstr(e)
defmain():
calendar={}
command_add("2015-10-20","Pythonclass",calendar)
printcalendar
command_add("2015-11-01","gooutwithfriendsaftertest",
calendar)
printcalendar
if__name__=="__main__":
main()
㈧ python顯示農歷日期
需安裝sxtwl包,命令如下
pip install sxtwl
農歷(Lunar calendar)<->陽歷(solar calendar)轉換
代碼如下(基於python3):
import sxtwl
#日歷中文索引
ymc = [u"十一", u"十二", u"正", u"二", u"三", u"四", u"五", u"六", u"七", u"八", u"九", u"十" ]
rmc = [u"初一", u"初二", u"初三", u"初四", u"初五", u"初六", u"初七", u"初八", u"初九", u"初十", \
u"十一", u"十二", u"十三", u"十四", u"十五", u"十六", u"十七", u"十八", u"十九", \
u"二十", u"廿一", u"廿二", u"廿三", u"廿四", u"廿五", u"廿六", u"廿七", u"廿八", u"廿九", u"三十", u"卅一"]
# 日歷庫實例化
lunar = sxtwl.Lunar()
# 1.陰歷轉陽歷
solar_day = lunar.getDayByLunar(2019,7,27)
print("公歷(陽歷):{0}年{1}月{2}日".format(solar_day.y, solar_day.m, solar_day.d))
# 2.陽歷轉陰歷
from datetime import date
today = str(date.today()) # 如 2019-08-08
today_list = today.split('-') # ['2019', '08', '08']
lunar_day = lunar.getDayBySolar((int)(today_list[0]),(int)(today_list[1]),(int)(today_list[2])) # 輸入年月日
# 判斷是否為潤年
if(lunar_day.Lleap):
print("陰歷(農歷):{0}月{1}".format(ymc[lunar_day.Lmc], rmc[lunar_day.Ldi]))
else:
print("陰歷(農歷):{0}月{1}".format(ymc[lunar_day.Lmc], rmc[lunar_day.Ldi]))
結果為
'''
公歷(陽歷):2019年8月27日
陰歷(農歷):七月初八
'''
㈨ python如何實現萬年歷
你可以看看這篇博客,python3實現萬年歷(包括公歷、農歷、節氣、節日)網頁鏈接,給你推薦一個網站吧,IT行業的文章技術學習以及學習交流網頁鏈接,望採納。
㈩ 我想用python pyqt寫一個日歷(包括時分秒),選擇時間後輸入到一個txt文件中。謝謝
from PyQt5.QtWidgets import *
import sys
class Window(QWidget):
def __init__(self):
QWidget.__init__(self)
layout = QGridLayout()
self.setLayout(layout)
self.calendar = QCalendarWidget()
self.calendar.selectionChanged.connect(self.on_time_selected)
layout.addWidget(self.calendar)
# calendar.selectedDate.connect(self.on_time_selected)
x=self.calendar.selectedDate()
print(x.toString())
def on_time_selected(self):
date = self.calendar.selectedDate()
# # x= self.calendar.selectedDate()
# print("Name: %s" % (font.family()))
print(date.toString())
app = QApplication(sys.argv)
screen = Window()
screen.show()
sys.exit(app.exec_())
輸出TXT就自己想辦法吧