做工作有一个合理的计划,事半功倍,这就需要我们计算好工作前后预留的时间。当然,具体结果越详细越好。小伙伴们会问了,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 实现秒表功能?11/16
- ♥ python中for循环的低级实现10/27
- ♥ python导入第三方模块时的注意点01/07
- ♥ python3 中的 lambda 函数是什么?如何使用?12/03
- ♥ 如何在python中编写代码以跳转到下一行08/23
- ♥ 如何在python中运行cmd命令08/11
内容反馈