本文介绍了python 相对时间转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题 a = "3月10天前"
b = "10天3小时前"
c = "7小时5分钟前"
根据当前系统时间转换为 0000-00-00 00:00 的格式,没有小时/分钟的分别算作00解决方案def gtime(atime):
match = re.match(r'(\d+)(\D+)(\d+)(\D+)',atime, re.M|re.I)
match2 = re.match(r'(\d+)(\D+)',atime, re.M|re.I)
days = 0
secs = 0
if match:
d1 = int(match.group(1))
d2 = int(match.group(3))
t1 = match.group(2)
t2 = match.group(4)
if t1 == u"月":
days += d1 * 30
elif t1 == u"天":
days += d1
elif t1 == u"小时":
secs += d1 * 3600
elif t1 == u"分":
secs += d1 * 60
if t2 == u"天":
days += d2
elif t2 == u"小时":
secs += d2 * 3600
elif t2 == u"分钟":
secs += d2 * 60
elif t2 == u"秒":
secs += d2
elif match2:
d1 = int(match2.group(1))
t1 = match2.group(2)
if t1 == u"月":
days += d1 * 30
elif t1 == u"天":
days += d1
elif t1 == u"小时":
secs += d1 * 3600
elif t1 == u"分":
secs += d1 * 60
elif t1 == u"秒":
secs += d1
time = now + datetime.timedelta(days=-days, seconds=-secs)
return time
时间越远,准确度越低,反正也只是粗略时间,月取30天就行了
换算没有PHP strtotime()那么方便,可以直接用年、月等任何时间单位进行计算,不知道python有没有提供类似功能的模块
更多推荐
python 相对时间转换
发布评论