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)) #ri print("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 datetime print(datetime.MINYEAR,datetime.MAXYEAR) #最大年份和最小年份, 可以自己制定 默认说9999, 1 datetime.MAXYEAR = 100000 print(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))