做工作的时候有一个合理的计划会事半功倍,这就需要我们计算出这个工作前后所需要的预留出的时间,当然具体的结果还是越精细越好。小伙伴会问,python中有这么计算时间精准的模块吗?小编也不卖关子,直接告诉大家,没错就是python3中的时间戳!计算精确到秒的时间就用它。
我们可以计算任意天的x天、y小时、t分钟、z秒后的时间:
# 文件名:count_days.py import time import datetime def time_controller(d=0, hour=0, minute=0, second=0, arg=1, day=datetime.datetime.now()): # 获得某天的x天、y小时、t分钟、z秒后的日期, day为空默认为当前时间开始 # 所有参数默认都为0,只需要调你需要的时间即可 # arg = 1: 获得hour小时,minute分钟,second秒后的具体时间 # arg = -1: 获得hour小时,minute分钟,second秒前的具体时间 now = datetime.datetime.now() if type(day) == str: now = datetime.datetime.strptime(day, '%Y-%m-%d %H:%M:%S') if arg == 1: value = now + datetime.timedelta(days=d, hours=hour, minutes=minute, seconds=second) elif arg == -1: value = now - datetime.timedelta(days=d, hours=hour, minutes=minute, seconds=second) return value print(time_controller(d=10, hour=20, minute=10, second=0, arg=-1, day='2019-08-01 10:00:00')) print(time_controller(d=10, hour=20, minute=10, second=0, arg=-1))
代码里,argv=-1表示取day参数之前的时间,也就是2019-08-01 10:00:00之前10天、20小时、10分钟的时间。同样地,进入cmd(windows)/Terminal(macOS),cd到当前文件夹下,运行命令:
python count_days.py
得到2019-08-01 10:00:00的10天、20小时、10分钟之前的时间为 2019-07-21 13:50:00. 如果day参数为空,默认为当前时间开始,那么这个结果则是:2019-08-01 23:35:23.
由于datetime是精确到毫秒的,所以后面有小数点,大家可以自行去掉!
有想近期给自己做一个计划的小伙伴,不妨试试用python3中的时间戳来解决,小编亲身试验真的好用。更多Python学习推荐:PyThon学习网教学中心。