Python 从 strftime 将 DD/MM/YYYY 等时间格式转换为 5 小时前、3 天前、1 年前等

Python converting Time Format like DD/MM/YYYY to 5 hours ago, 3 days ago, 1 year ago, etc from strftime

正在寻找一种将时间从 strftime 转换为 ...ago 的方法,我在互联网上到处查看,有一种方法可以将 ...ago 转换为 strftime,所以我知道这是可能的,但我不知道该怎么做

输入

14:56:39 PM

输出

2 hours ago 

这里我尝试转换timedelta,如下;

import datetime
a = datetime.datetime.now()
b = datetime.datetime(2022,5,10,12,0,0,0)
c = a - b
ts = c.total_seconds()
h = ts//3600
m = (ts%3600)//60
sec = (ts%3600)%60
print ("%d:%d hours ago" %(h,m) )

days, hours, minutes = c.days, c.seconds // 3600, c.seconds // 60 % 60
print('{}:Days {}:Hours {}:Minutes ago'.format(days, hours, minutes))


OUTPUT : 145:47 hours ago
         6:Days 1:Hours 47:Minutes ago