【Python】获取前几天的日期转成固定的格式

博客介绍了Python中str与datetime.datetime类型的相互转换,str转datetime用datetime.strptime(),datetime转str用dt.strftime()。还阐述了获取几天前数据、固定日期前后n天数据以及计算两个日期相差天数的方法,均需先转换为datetime类型再操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,str与datetime.datetime类型之间的切换,如下所示:

>>> stime = "2020-05-06"
>>> type(stime)
<class 'str'>
>>> dt = datetime.strptime(stime,"%Y-%m-%d")
>>> type(dt)
<class 'datetime.datetime'>
>>> strtime = dt.strftime("%Y-%m-%d")
>>> type(strtime)
<class 'str'>

str转换成datetime.datetime类型:datetime.strptime()函数。将str类型stime转换成datetime.datetime类型。

datetime.datetime类型转化成str:dt.strftime().将原本是datetime.datetime类型的数据转换成str类型。

相互为datetime.datetime类型的数据才能进行加减等操作,

 

应用:

2,获取8天之前的数据

代码如下:

import time
import datetime

today = time.strftime("%Y-%m-%d", time.localtime())  /获取当前时间并转换成固定格式
week_ago_time = (datetime.datetime.now() - datetime.timedelta(days=8)).strftime("%Y-%m-%d")  /获取8天前的日期

 

3,获取固定日期的前后n天的数据

先将固定日期转化成'datetime.datetime'格式的,因为'datetime.datetime.now()'就是这种格式的;然后想上面一样做减法就可以了、

这里用到的函数是datetime.datetime库的strptime(),代码如下所示:

import time
import datetime 
from datetime import datetime as dtime
dt = dtime.strptime("2019-07-07", "%Y-%m-%d")
week_ago_time = ( dt - datetime.timedelta(days=8)).strftime("%Y-%m-%d")

注意:from datetime import datetime as dtime 将库的名字做个替换不然会跟其父库datetime冲突

输出为:

>>> print week_ago_time
2019-06-29

3,计算两个日期的相差的天数

>>> day1 = "2020-05-06"
>>> day2 = "2020-05-01"
>>> day1_dt = datetime.strptime(day1,"%Y-%m-%d")
>>> day2_dt = datetime.strptime(day2,"%Y-%m-%d")
>>> (day1_dt-day2_dt).days
5

先将两个str类型的日期转换成datetime类型;然后作减法,其days即相差天数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一杯拿铁go

你的打赏是我更新最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值