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就自己想办法吧