做工作的时候有一个合理的计划会事半功倍,这就需要我们计算出这个工作前后所需要的预留出的时间,当然具体的结果还是越精细越好。小伙伴会问,python中有这么计算时间精准的模块吗?小编也不卖关子,直接告诉大家,没错就是python3中的时间戳!计算精确到秒的时间就用它。
我们可以计算任意天的x天、y小时、t分钟、z秒后的时间:
#文件名:count_days.py importtime importdatetime deftime_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() iftype(day)==str: now=datetime.datetime.strptime(day,'%Y-%m-%d%H:%M:%S') ifarg==1: value=now+datetime.timedelta(days=d,hours=hour,minutes=minute,seconds=second) elifarg==-1: value=now-datetime.timedelta(days=d,hours=hour,minutes=minute,seconds=second) returnvalue print(time_controller(d=10,hour=20,minute=10,second=0,arg=-1,day='2019-08-0110: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到当前文件夹下,运行命令:
pythoncount_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学习网教学中心。