Python中time日期、时间格式转换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python中time日期、时间格式转换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2581字,纯文字阅读大概需要4分钟。
内容图文
在我们日常的数据采集中,时间time的重要性毋庸置疑的,因为它是衡量采集到的信息是否具有正确时效性的唯一因素。如果我们采集到的信息对于客户来说已经是过期的信息,这对于客户没有使用的价值,影响客户使用。
所以我们今天就来说说在日常采集中遇到的时间如何正确采集,保证信息的时效性。
1>.首先我们要获取当前的时间,才能有效的判断信息的时效性。
import datetime #获取当前时间 gtime = datetime.datetime.now() # #获取当前时间的年 月 日.day year = datetime.datetime.now().year month = datetime.datetime.now().month day = datetime.datetime.now().day
2>.时间的格式化。在采集外文网站中常会遇到(Mar 09,2018\ Thu Jun 22 00:00:00 CST 2017)
#Mar 09,2018\ Thu Jun 22 00:00:00 CST 2017 c_time = 'Mar 09,2018' print(type(c_time)) #查看类型是--<str> ctime = datetime.datetime.strptime(c_time,"%b %d,%Y") print(ctime) print(type(ctime)) #查看类型是--<class 'datetime.datetime'>
3>.借助正则来提升匹配率
ctime = data.xpath('''//span[@class="time"]''').regex('(\d+-\d+-\d+ \d+:\d+:\d+|\d+-\d+-\d+ \d+:\d+|\d+-\d+-\d+|\d+-\d+ \d+:\d+)').datetime()
4>.对于时间里面包含汉字(年、月、日)(刚刚、分钟前、小时前、天前)
4.1.时间里面包含年、月、日---2018年3月15日 12:25
import htmlparser #导包 ctime = htmlparser.Parser(data.xpath('''//span[@class="time"]''').text().replace('年', '-').replace('月', '-').replace('日', '')).datetime()
4.2.时间里面包含刚刚、分钟前、小时前、天前
ctime = data.xpath('''//span[@class="topic_time"]/text()''').text().strip() if "刚刚" in ctime: ctime = gtime - datetime.timedelta(minutes=1) elif "分钟前" in ctime: ctime = re.search(r'\d+', ctime).group() ctime = gtime - datetime.timedelta(minutes=int(ctime)) elif "小时前" in ctime: ctime = re.search(r'\d+', ctime).group() ctime = gtime - datetime.timedelta(hours=int(ctime)) elif "天前" in ctime: ctime = re.search(r'\d+', ctime).group() ctime = gtime - datetime.timedelta(days=int(ctime)) else: # return None ctime = htmlparser.Parser(ctime).datetime()
5>.对于正文里面没有时间的,查看是否url里面含有时间的信息 http://www.shanxi.gov.cn/sq/dwjl/gjjmlw/201802/t20180208_396922.shtml
import re post_url = 'http://www.shanxi.gov.cn/sq/dwjl/gjjmlw/201802/t20180208_396922.shtml' c_time = re.search('''t(\d{8})_''', post_url).group(1) ctime = datetime.datetime.strptime(c_time, "%Y%m%d") - datetime.timedelta(0, 3600 * 8)
6>.时间戳的转化(如果采集的内容里面没有时间,可以查找类似1548906627这样的一串数,打开http://tool.chinaz.com/Tools/unixtime.aspx,测试一下是否是时间戳格式的)
如果确定是时间戳格式的
===============时间戳格式转换============== c_time1 = '获取到的时间戳' ctime = datetime.datetime.utcfromtimestamp(int(c_time1))
最后,此内容为自己整理所得,如有不适合你的情况,请另行其它方法解决。
内容总结
以上是互联网集市为您收集整理的Python中time日期、时间格式转换全部内容,希望文章能够帮你解决Python中time日期、时间格式转换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。