Python时间模块datetime、time、calendar的使用方法
本文简单总结了一下Python处理时间和日期方面的模块,主要就是datetime、time、calendar三个模块的使用,希望这篇文章对于学习Python的朋友们有所帮助。
首先就是模块的调用,很多IDE都已经安装好了很多Python经常使用到的模块,所以我们暂时不需要安装模块了。
importdatetime importtime importcalendar
1.获取到此时的准确时间
#获取此时的时间 printtime.localtime()
//输出格式为: time.struct_time(tm_year=2015,tm_mon=12,tm_mday=29,tm_hour=1,tm_min=10,tm_sec=25,tm_wday=1,tm_yday=363,tm_isdst=0)
2.获取当天的日期
#获取当天的日期 printdatetime.datetime.now() printdatetime.date.today()
3.获取昨天的日期
#获取昨天的日期 defgetYesterday(): today=datetime.date.today() oneday=datetime.timedelta(days=1) yesterday=today-oneday printtype(today)#查看获取到时间的类型 printtype(yesterday) returnyesterday yesterday=getYesterday() print"昨天的时间:",yesterday
4.获取n天以前的日期
这个应该就不用给出代码了吧,稍微想想就可以得出结果了。
5.字符串转换为时间和日期
#字符串转换为时间
defstrTodatetime(datestr,format):
returndatetime.datetime.strptime(datestr,format)
printtime.strftime("%Y-%m-%d",time.localtime())
printstrTodatetime("2014-3-1","%Y-%m-%d")
printtime.strftime("%Y-%m-%d%H:%M:%S",time.localtime())
printstrTodatetime("2005-2-16","%Y-%m-%d")-strTodatetime("2004-12-31","%Y-%m-%d")
输出结果:
2015-12-29
2014-03-0100:00:00
2015-12-2901:10:25
47days,0:00:00
6.获取日历相关信息
#获取某个月的日历,返回字符串类型 cal=calendar.month(2015,12) printcal calendar.setfirstweekday(calendar.SUNDAY)#设置日历的第一天 cal=calendar.month(2015,12) printcal #获取一年的日历 cal=calendar.calendar(2015) printcal cal=calendar.HTMLCalendar(calendar.MONDAY) printcal.formatmonth(2015,12)
7.calendar模块还可以处理闰年的问题
#判断是否闰年、两个年份之间闰年的个数 printcalendar.isleap(2012) printcalendar.leapdays(2010,2015)
针对Python时间模块datetime\time进行详细探讨。
转义符对应意义如下
- %a本地简化星期名称
- %A本地完整星期名称
- %b本地简化的月份名称
- %B本地完整的月份名称
- %c本地相应的日期表示和时间表示
- %d月内中的一天(0-31)
- %H24小时制小时数(0-23)
- %I12小时制小时数(01-12)
- %j年内的一天(001-366)
- %m月份(01-12)
- %M分钟数(00=59)
- %p本地A.M.或P.M.的等价符
- %S秒(00-59)
- %U一年中的星期数(00-53)星期天为星期的开始
- %w星期(0-6),星期天为星期的开始
- %W一年中的星期数(00-53)星期一为星期的开始
- %x本地相应的日期表示
- %X本地相应的时间表示
- %y两位数的年份表示(00-99)
- %Y四位数的年份表示(000-9999)
- %Z当前时区的名称
- %%%号本身
代码:
importtime
importdatetime
#两日期相减
d1=datetime.datetime(2005,2,16)
d2=datetime.datetime(2004,12,31)
print(d1-d2).days
#运行时间:
starttime=datetime.datetime.now()
endtime=datetime.datetime.now()
print(endtime-starttime).seconds
#计算当前时间向后10天的时间。
#如果是小时days换成hours
d1=datetime.datetime.now()
d3=d1datetime.timedelta(days=10)
printstr(d3)
printd3.ctime()
time.ctime([sec])#把秒数转换成日期格式,如果不带参数,则显示当前的时间。
>>>importtime
>>>time.ctime()
>>>"WedJun1415:02:502006"
>>>time.ctime(1138068452427683)
"SatDec1404:51:441901"
>>>importtime
>>>time.strftime("%Y-%m-%d%X",time.localtime())
"2011-03-1520:42:12"
>>>time.strftime("%Y-%m-%d%H:%M:%S",time.localtime())
"2011-03-1520:03:47"
DateTime模块
----------------------------
datetime将日期转化为秒
>>>importdatetime,time
>>>time.mktime(datetime.datetime(2009,1,1).timetuple())
1230739200.0
>>>cc=[2000,11,3,12,43,33]#Attributes:year,month,day,hour,minute,second
>>>time.mktime(datetime.datetime(cc[0],cc[1],cc[2],cc[3],cc[4],cc[5]).timetuple())
973226613.0
time.time()取得当前时间;
time.localtime()取得本地时间;
time.strftime()格式化日期;
time.strptime(timeString)把字符串转化为日期;
判断输入的日期是星期几
>>>datetime.datetime(2011,02,15).weekday()
1
>>>datetime.datetime(2011,02,15).weekday()
1
>>>datetime.datetime(2011,02,16).weekday()
2
>>>datetime.datetime(2011,02,17).weekday()
3
>>>
datetime模块获取当前时间
>>>datetime.datetime.utcnow()
datetime.datetime(2011,3,15,13,19,32,264194)
>>>datetime.datetime.utcnow().strftime("%Y-%m-%d%H:%M:%S")格式化
'2011-03-1513:19:27'
>>>
以上就是关于Python时间模块的详细学习,希望对大家学习Python程序设计有所帮助。