import re
from datetime import datetime, timedelta
str1 = "S5720 uptime is 29 weeks, 3 days, 2 hours, 28 minutes"
# 匹配出uptime的值
match = re.search(r"uptime is (\d+\s\w+,\s\d+\s\w+,\s\d+\s\w+,\s\d+\s\w+)", str1)
if not match:
print("not found")
else:
uptime = match.group(1)
print(uptime)
# 提取时间值
uptime_values = re.findall(r"(\d+)\s(\w+)", uptime)
print(uptime_values)
# 将字符串转换为 timedelta 对象
timedelta_args = {}
for value, unit in uptime_values:
if unit.startswith("week"):
timedelta_args["weeks"] = int(value)
elif unit.startswith("day"):
timedelta_args["days"] = int(value)
elif unit.startswith("hour"):
timedelta_args["hours"] = int(value)
elif unit.startswith("minute"):
timedelta_args["minutes"] = int(value)
td = timedelta(**timedelta_args)
print(td)
tm1 = "2023-01-01 05:16:43"
# 将字符串转换为 datetime 对象
tm1 = datetime.strptime(tm1, "%Y-%m-%d %H:%M:%S")
# 计算启动时间
start_time = tm1 - td
print(start_time)
python-datetime计算时间
最新推荐文章于 2024-07-27 12:20:46 发布