python的时间使用和时间计算
python存在两个时间类time/dateTime
区别:
time:在python文档中,time是归类在常规操作系统服务中,它提供的功能更加接近于操作系统层面。其所能表述的日期范围被限定在1970-2038之间,如果需要表述范围之外的日期,可能需要考虑使用datetime模块更好。
datetime:比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多实用的函
用法:
简介时间元组(struct_time):
tm_year:年1-12
tm_mon:月1-12
tm_mday:日1-31
tm_hour:时0-23
tm_min:分0-59
tm_sec:秒0-59
tm_wday:星期0-6(0表示周日)
tm_day:一年中的第几天1-366
tm_isdst:是否是夏令,默认为-1
time:
time.sleep(sec):推迟指定时间sec后继续运行
time.localtime([sec]):将一个时间戳转化成一个当时时区的struct_time,如果sec参数未输入,则以当前时间为转化标准
time.strftime(format[,t]):将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
time.time():返回当前时间的时间戳(以秒表示的浮点数)
time.mktime(t):将一个struct_time转换为时间戳
time.gmtime([sec]):将一个时间戳转化为UTC时区(0时区)的struct_time
time.clock():不同系统含义不同。UNIX——返回进程时间,WINS第一次调用返回进程运行的实际时间,第二次调用是自第一次调用以后到现在的运行时间
time.asctime([t])把一个时间的元组或者struct_time表示为“Sun Jun 20 23:21:05 1993”,如果无参数,则会把time.localtime()作为参数传入
time.ctime([sec]):把一个时间戳转化为time.asctime()的形式,如果无参数或者为None时,则会把time.time()作为参数传入。它的作用相当于time.asctime(time.localtime(sec))
time.strftime(format[,t]):把一个代表时间的元组或者struct_time转化为格式化的时间字符串。如果t为指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出
datetime:
提供类方法如下:
timedelta:主要用于计算时间跨度
tzinfo:时区相关
time:只关注时间
date:只关注日期
datetime:同时有时间和日期
实际使用中用的比较多的是:datetime.datetime 和 datetime.timedelta
datetime.year
datetime.month
datetime.day
datetime.hour
datetime.minute
datetime.second
datetime.microsecond
datetime.tzinfo():时区
datetime.date():返回date对象
datetime.time():返回time对象
datetime.replace(name=value)
datetime.timetuple():返回time.struct_time 对象
datetime.strftime(format):按照format进行格式化输出
计算时间精确到时分秒:
from datetime import datetime oldtime= datetime(2020,10,26, 11,00,38) newtime= datetime(2020,10,26, 18,00,38) print ((newtime-oldtime).seconds) #秒 print (round((newtime-oldtime).seconds/60)) #分 print (round((newtime-oldtime).seconds/3600)) #时 print ((newtime-oldtime).days) #日