Python | datetime库计算时间差

在做爬虫的时候,需要计算网页上的发布时间和本地时间的时间差。

主要思想是现在爬虫的时候用正则把发布时间抓取下来,再用datetime库将其转化为datetime.datetime对象,计算时间差。

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def timeConversion(s: str):
if re.match(r"^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$", s):
d = datetime.strptime(s, '%Y-%m-%d %H:%M:%S')
elif re.match(r"^\d{4}-\d{2}-\d{2} \d{2}:\d{2}$", s):
d = datetime.strptime(s, '%Y-%m-%d %H:%M')
elif re.match(r"^\d{4}-\d{2}-\d{2}$", s):
d = datetime.strptime(s, '%Y-%m-%d')
else:
return s
a = datetime.now()
durn = (a - d)
days = durn.days
if days == 0:
hours = (durn.total_seconds() % 86400) // 3600
return str(int(hours)) + "小时前"
else:
return str(days) + "天前"