python处理时间的有两个模块, 分别是time , datetime , calendar
1> time
print(time.gmtime())print(time.localtime()) #当前时间 返回的是一个time.struct_time 对象print(time.time()) #返回的是当前时间的时间戳localtime = time.localtime()print("tm_gmtoff={}".format(localtime.tm_gmtoff))print("tm_hour={}".format(localtime.tm_hour)) #时print("tm_isdst={}".format(localtime.tm_isdst)) #是否夏令时print("tm_mday={}".format(localtime.tm_mday)) #riprint("tm_min={}".format(localtime.tm_min)) #分print("tm_mon={}".format(localtime.tm_mon)) #月print("tm_sec={}".format(localtime.tm_sec)) #秒print("tm_wday={}".format(localtime.tm_wday)) #周几print("tm_yday={}".format(localtime.tm_yday)) #一年中的第几天print("tm_year={}".format(localtime.tm_year)) #年print("tm_zone={}".format(localtime.tm_zone))ts = time.mktime(localtime) #通过给定的时间得到时间戳print(ts)#格式化输出时间print(time.strftime("%Y/%m/%d",localtime)) # 返回的是时间字符串timeStr = "2017-08-05 23:00:00"print(time.strptime(timeStr,"%Y-%m-%d %X")) #返回的是一个time.struct_time 对象
2> datetime
#在datetime 模块先有几个子模块 分别是:#date : 处理年月日#time : 处理时分秒,微妙#datetime : 处理年月日,时分秒, 微妙#分别查看一下每模块的属性和方法print('----------------date模块--------------------')print(dir(datetime.date))print('----------------time模块--------------------')print(dir(datetime.time))print('----------------datetime模块----------------')print(dir(datetime.datetime))# 在这里主要看一下datetime 这个模块from datetime import datetimeprint(datetime.MINYEAR,datetime.MAXYEAR) #最大年份和最小年份, 可以自己制定 默认说9999, 1 datetime.MAXYEAR = 100000print(datetime.MAXYEAR)#查看datetime所属的类型print(type(datetime)) #发现是一个type类型#这里记录一下 type 和 Object 的关系#Object 是所有父子关系(继承关系)的顶端, 所有的数据类型的父类都是它,而type是所有类型实例关系#的顶端,所有对象都是它的实例#可以这么理解, Object 是一个type 即Object是type的一个实例#以上理解只是个人理解, 如果有错误的地方,请予以纠正# 获取当前时间currentTime = datetime.now() #返回的是一个datetime.datetime 对象print(currentTime) print(currentTime.strftime('%x %X')) #格式化输出当前时间#获取当前时间的时间戳print(currentTime.timestamp())d=datetime(2017,8,6,11,52,30)#对指定的时间进行自定义格式输出# %y 两位数的年份表示(00-99)# %Y 四位数的年份表示(000-9999)# %m 月份(01-12)# %d 月内中的一天(0-31)# %H 24小时制小时数(0-23)# %I 12小时制小时数(01-12) # %M 分钟数(00=59)# %S 秒(00-59)# %a 本地简化星期名称# %A 本地完整星期名称# %b 本地简化的月份名称# %B 本地完整的月份名称# %c 本地相应的日期表示和时间表示# %j 年内的一天(001-366)# %p 本地A.M.或P.M.的等价符# %U 一年中的星期数(00-53)星期天为星期的开始# %w 星期(0-6),星期天为星期的开始# %W 一年中的星期数(00-53)星期一为星期的开始# %x 本地相应的日期表示# %X 本地相应的时间表示# %Z 当前时区的名称# %% %号本身 print(d.strftime("%Y-%m-%d %p")) #2017-08-06 AM 一个字符串#显示英文格式print(d.ctime()) #Sun Aug 6 11:52:30 2017#显示日历 (年, 该年中的第几周, 周几)print(d.isocalendar()) #(2017, 31, 7) 返回一个元组, 使用时需要定向取值print(datetime.today())
3> calendar
#获取某一年的日历print(calendar.calendar(2017))#获取某月的日历print(calendar.month(2017, 8))#判断某一年是否是闰年print(calendar.isleap(2017))#检测两个年份之间闰年的个数print(calendar.leapdays(1990,2017))#将日历转化为html 格式, 可以设置 年月日, 星期等cal = calendar.HTMLCalendar(calendar.MONDAY)print(cal)print(cal.formatyear(2017))