扫码关注官方订阅号
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有没有提供类似功能的模块
>>> import datetime >>> now = datetime.datetime.now() >>> now datetime.datetime(2016, 5, 5, 23, 18, 38, 779000) >>> now + datetime.timedelta(days=-10, microseconds=50, seconds=20) datetime.datetime(2016, 4, 25, 23, 18, 58, 779050)
3个月这个具体时间间隔不能确定,其它都可以算。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
时间越远,准确度越低,反正也只是粗略时间,月取30天就行了
换算没有PHP strtotime()那么方便,可以直接用年、月等任何时间单位进行计算,不知道python有没有提供类似功能的模块
3个月这个具体时间间隔不能确定,其它都可以算。