time模块、datetime模块
1、time模块
import time
1.1 时间获取
time.time()
获取当前时间戳,即计算机内部时间值,浮点数
时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
import time
print(time.time())
'''
1569992768.4556856'''
time.ctime()
获取当前时间并以易读的方式表示,返回字符串
import time
print(time.ctime())
'''
Wed Oct 2 13:07:58 2019'''
time.gmtime()
获取当前时间,表示为计算机可处理的时间格式,称作struct_time
格式
import time
print(time.gmtime())
'''
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=2, tm_hour=5, tm_min=10, tm_sec=32, tm_wday=2, tm_yday=275, tm_isdst=0)'''
1.2 时间格式化
将时间以合理的方式展示出来
time.strftime(tpl,ts)
:返回一个字符串时间值
tpl 是格式化模板字符串,即定义输出效果
ts 是计算机内部时间类型变量(gmtime()
)
import time
t = time.gmtime()
print(time.strftime('%Y-%m-%d %H:%M:%S',t))
'''
2019-10-02 05:17:42'''
time.strptime(strt,tpl)
:返回一个struct_time
时间值
str 是字符串形式的时间值
tpl 是格式化模板字符串,用来定义输入效果
import time
time_str = '2018-10-02 13:23:55'
print(time.strptime(time_str,'%Y-%m-%d %H:%M:%S'))
'''
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=2, tm_hour=13, tm_min=23, tm_sec=55, tm_wday=1, tm_yday=275, tm_isdst=-1)
'''
1.3 程序计时
程序计时指的是测量起止动作所经历时间的过程
测量时间指的是能够记录时间的流逝
time.sleep(s)
让程序休眠s时间,s的单位是秒,可以是浮点数
time.perf_counter()
返回一个CPU级别的精确时间计数值,单位为秒
由于这个计数值起点不确定,连续调用查值才有意义
其他用法
# 推迟指定的时间运行,单位为秒
start = time.time()
time.sleep(3)
end = time.time()
print(end-start)
3.0005428791046143
datetime模块
datetime.datetime.now()
当前时间
print(datetime.datetime.now())
2019-03-07 16:22:14.544130
print(datetime.date.fromtimestamp(time.time()))
2019-03-07
datetime.timedelta()
当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(3))
2019-03-10 16:22:14.560599
print(datetime.datetime.now() + datetime.timedelta(-3))
2019-03-04 16:22:14.568473
当前时间-3小时
print(datetime.datetime.now() + datetime.timedelta(hours=3))
2019-03-07 19:22:14.575881
当前时间+30分钟
print(datetime.datetime.now() + datetime.timedelta(minutes=30))
2019-03-07 16:52:14.585432
时间替换
c_time = datetime.datetime.now()
print(c_time.replace(minute=20, hour=5, second=13))
2019-03-07 05:20:13.595493