本文主要是介绍python 时间转换:前天、3天前、1周前、1小时前、昨天、2019-11-04、11-04、11月04日,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
时间转换:前天、3天前、1周前、1小时前、昨天、2019-11-04、11-04、11月04日
均转化为 '%Y-%m-%d %H:%M:%S' 此格式。
import re
import time
from datetime import datetimedef beforeHours2Date(hours, date_format='%Y-%m-%d %H:%M:%S'):hours = int(hours)t = time.time() - hours*60*60t = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(t))return tdef beforeHours2Date1(hours, date_format='%Y-%m-%d %H:%M:%S'):hours = int(hours)t = time.time() - hours*60*60t = time.strftime('%Y-%m-%d', time.localtime(t))return tdef parse_ymd(s):aa=re.findall(r"(\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2})",s)if aa !=[]:a=aa[0]else:if '月' in s:s=s.replace('月','-').replace('日','')mon_s, day_s = s.split('-')year_s='2020'a=datetime(int(year_s), int(mon_s), int(day_s))a=a.strftime('%Y-%m-%d %H:%M:%S') long=re.findall('(-)',s)if len(long) == 2: year_s, mon_s, day_s = s.split('-')a=datetime(int(year_s), int(mon_s), int(day_s))a=a.strftime('%Y-%m-%d %H:%M:%S')if len(long) == 1:mon_s, day_s = s.split('-')year_s='2020'a=datetime(int(year_s), int(mon_s), int(day_s))a=a.strftime('%Y-%m-%d %H:%M:%S') else:if '前天' in s:a=3a=beforeHours2Date(a, date_format='%Y-%m-%d %H:%M:%S')if '天前' in s:a=re.findall('(.*?)天前',s)a=beforeHours2Date(a[0], date_format='%Y-%m-%d %H:%M:%S')if '周前' in s:a=7a=beforeHours2Date(a, date_format='%Y-%m-%d %H:%M:%S')if '小时前' in s:a=re.findall('(.*?)小时前',s)a=beforeHours2Date(a[0], date_format='%Y-%m-%d %H:%M:%S')if '昨天' in s:a=24b=re.findall('昨天 (.*)',s)a=beforeHours2Date1(a, date_format='%Y-%m-%d %H:%M:%S')a=a+' '+b[0]+':00'if '秒' in s:a=0a=beforeHours2Date(a, date_format='%Y-%m-%d %H:%M:%S') if '分钟前' in s:a=0.5a=beforeHours2Date(a, date_format='%Y-%m-%d %H:%M:%S') if '刚刚' in s:a=0a=beforeHours2Date(a, date_format='%Y-%m-%d %H:%M:%S') return a
这篇关于python 时间转换:前天、3天前、1周前、1小时前、昨天、2019-11-04、11-04、11月04日的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!