前言:
眼前你们对“python取日期时间函数”可能比较关心,各位老铁们都需要学习一些“python取日期时间函数”的相关知识。那么小编在网摘上收集了一些对于“python取日期时间函数””的相关内容,希望姐妹们能喜欢,同学们快快来了解一下吧!问题背景
在《Python数据分析第二练:如何用爬虫一次爬取多个页面》给出的例子中,我们对于新闻的日期是通过下面的方式获取得到的。
page_date = '<span class="c-color.*?aria-label="发布于:(.*?)"' date = re.findall(page_date, web, re.S)
对照下网页源代码就会发现,这个日期的格式不是“2022-05-01”的格式,而是“X天前”、“XX时XX分”等进行了转译的内容,可能这么做的原因是想让我们更加懂得“自己动手、丰衣足食”吧~~~
那么,我们怎么搞一哈子才能把日期转换成标准的日期格式呢?以下enjoy~~~
Python datetime库
Dateime库提供了提供用于操作日期和时间的函数类,可通过help(datetime)查看相信信息,有需要的伙伴还是请自行查阅(切记:自己动手、丰衣足食呦)。
import datetimehelp(datetime)
其它相关的库还包括:
我们在本文中暂时只对使用到的部分进行简单介绍,详细内容可以根据自己的需求随时深挖。
from datetime import datetime # 注意前后两个datetime的含义不同,前者是模块,后者是函数类 now = datetime.now()print(now)print(now.strftime('%a, %b %d %H:%M'))
其中,Python中时间日期格式化符号用法如下:
%Y 四位数的年份表示(000-9999)%y 两位数的年份表示(00-99)%m 月份(01-12)%d 月内中的一天(0-31)%H 24小时制小时数(0-23)%I 12小时制小时数(01-12)%M 分钟数(00-59)%S 秒(00-59)%a 本地简化星期名称%A 本地完整星期名称%b 本地简化的月份名称%B 本地完整的月份名称%c 本地相应的日期表示和时间表示%j 年内的一天(001-366)%p 本地A.M.或P.M.的等价符%U 一年中的星期数(00-53)星期天为星期的开始%w 星期(0-6),星期天为星期的开始%W 一年中的星期数(00-53)星期一为星期的开始%x 本地相应的日期表示%X 本地相应的时间表示%Z 当前时区的名称%% %号本身
在我们的案例中,由于日期信息获取的为“X天前”等形式,这就还需要进行日期之间的间隔计算,这需要使用到datetime中的timedelta类。
from datetime import datetime, timedelta now = datetime.now()print(now) cur_time1 = now + timedelta(hours=10)print(cur_time1) cur_time2 = now - timedelta(days=1)print(cur_time2) cur_time3 = now + timedelta(days=2, hours=12)print(cur_time3)
上面的两个内容是我们在案例学习中主要涉及到的,其它的部分就不做过多赘述。
案例代码
对应到我们的第二讲案例,需要把date转换成标准的日期,具体的代码如下:
page_date = '<span class="c-color.*?aria-label="发布于:(.*?)"'date = re.findall(page_date, page, re.S)print(date)if ('天前' in date[0]): date[0] = (now - timedelta(days=int(date[0][0]))).strftime('%Y-%m-%d %H:%M')else: date[0]print(date[0])
一起练习吧
最后,又到了激动人心的一起思考一起练环节,伙伴们,动动脑、动动手,“咯滴咯滴,咯滴咯滴,咯滴咯滴,啊哩斯呔哩”~~~
欢迎交流和讨论。
标签: #python取日期时间函数