python 时间积累

#当月1号  

datetime.date(datetime.date.today().year,datetime.date.today().month,1)  


#当月1号  
datetime.date.today().replace(day=1)  

dt.replace(day=1) 其中dt是datetime.date类型


#上月1号  
(datetime.date.today().replace(day=1) - datetime.timedelta(1)).replace(day=1)  


当读取的日期是float类型是,需要转换下,如从excel中读到的日期
#日期转换
import datetime
__s_date = datetime.date(1899, 12, 31).toordinal()-1
def getdate(date):
    if isinstance(date, float):
        date = int(date)
    d = datetime.date.fromordinal(__s_date + date)
    #return d.strftime("%Y-%m-%d") 返回的是字符串的日期
    return d #返回的是datetime.date


日期不同类型之间的相互转换
datetime.date -> str


dt.strftime("%Y-%m-%d")


str ->datetime.date


dt=datetime.strptime(dt,'%Y-%m-%d').date()


获取每月的天数
import calendar
#dt为datetime.date类型

days=calendar.monthrange(dt.year,dt.month)[1]


得到上个月的第一天
def last_month(today):

        return (today.replace(day=1) - timedelta(days=1)).replace(day=1)


得到去年同月的第一天
def last_year(today):

        return today.replace(year=today.year-1)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值