python内置时间函数time详解 python time 函数
内置函数时间time()
1、年:tm_year, 月:tm_mon, 日:tm_mday,时:tm_hour, 分:tm_min, 秒:tm_sec, 星期:tm_wday(从0开始)
2、Time.time()获取当前的时间戳(从1970年到现在的过去的秒数)
3、time.localtime()获取时间元组(年,月,日,时,分,秒,一周的第几天,一年的第几天,夏令时)
4、time.mktime(时间元组)时间元组--->时间戳
5、时间元组--->字符串time.strftime("%Y/%m/%d %H:%M:%S,时间元组))
代表年的y如果是小写取后两位如:22,如果是大写Y就是取全部如2022
6、字符串--->时间元组:time.strptime(字符串变量,"%Y/%m/%d %H:%M:%S")
mport time
#获取当前的时间戳(从1970年到现在的过去的秒数)
#1659229441.7317662
print(time.time())
#获取时间元组(年,月,日,时,分,秒,一周的第几天,一年的第几天,夏令时)
#time.struct_time(tm_year=2022, tm_mon=7, tm_mday=31,
# tm_hour=9, tm_min=7, tm_sec=16, tm_wday=6, tm_yday=212, tm_isdst=0)
print(time.localtime())#local本地的,time时间。本地时间。
print(time.localtime(1659229636.9439380))#显示指定的时间
#获取所有元素
for imte in time.localtime():
print(imte,end=" ")
print()
#获取元组中的每一个元素。
tupl_time=time.localtime()
yer=tupl_time[0]
mon=tupl_time[1]
day=tupl_time[2]
#获取年,月,日
print("%d年%d月%d日"%(yer,mon,day))
#获取时,分,秒
hour=tupl_time[3]
min=tupl_time[4]
sec=tupl_time[5]
print("%d时%d分%d秒"%(hour,min,sec))
#获取星期几
wday=tupl_time[6]+1
if wday==7:
vday="日"
print("星期%s"%vday)
else:
print("星期%d" % wday)
#直接获取年月日(其它的以此类推)
print(tupl_time.tm_year,tupl_time.tm_mon,tupl_time.tm_mday)
#时间元组--->时间戳
print(time.mktime(tupl_time))
#时间元组--->字符串
#代表年的y如果是小写取后两位如:22,如果是大写Y就是取全部如2022
ymd=time.strftime("%Y/%m/%d %H:%M:%S",time.localtime())
#输出为:2022/07/31 10:12:32
print(ymd)
#字符串--->时间元组
time.strptime(ymd,"%Y/%m/%d %H:%M:%S")
练习:
'''
建立一个函数,根据年月日判 断是星期几
思路:年月日--->变成元组
根据元组变成星期
'''
import time
def time_wday(year,mon,day):
'''
根据日期判断是星期几
:param year: 年
:param mon: 月
:param day: 日
:return: 星期
'''
list_week=["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
str_ymd="%d/%d/%d"%(year,mon,day)#日期字符串变成元组
up_ymd=time.strptime(str_ymd,"%Y/%m/%d")#从元组中取出星期
wday=list_week[up_ymd.tm_wday]#从列表中取出中文星期
return wday
wday=time_wday(2022,7,30)
print(wday)
'''
练习二
根据生日计算活了多少天
'''
def mday(year,month,day):
str_ymd="%d-%d-%d"%(year,month,day)#日期字符串
up_ymd=time.strptime(str_ymd,"%Y-%m-%d")#根据字符串和格式转成时间元组
timeday=int(time.mktime(up_ymd)/(360*24))#根据秒数计算天数
return timeday
print(mday(2022,7,31))