python datetime 常用的几种处理日期的方式

import datetime
#本周第一天和最后一天
date1 = datetime.datetime.now()
this_week_start_dt = str(date1-datetime.timedelta(days=date1.weekday())).split()[0]
this_week_end_dt = str(date1+datetime.timedelta(days=6-date1.weekday())).split()[0]
print this_week_start_dt,this_week_end_dt



#上个星期一和星期天的日期
last_week_start_dt = date1-datetime.timedelta(days=date1.weekday()+7)
last_week_end_dt = date1-datetime.timedelta(days=date1.weekday()+1)

#本月一号和最后一天的日期

y=date1.year
m = date1.month
month_start_dt = datetime.date(y,m,1)

if m == 12:
    month_end_dt = datetime.date(y+1,1,1) - datetime.timedelta(days=1)
    print month_end_dt

else:
    month_end_dt = datetime.date(y,m+1,1) - datetime.timedelta(days=1)
    print month_end_dt

#上个月的第一天和最后一天

if m==1:                    #如果是1月
    start_date=datetime.date(y-1,12,1)
else:
    start_date=datetime.date(y,m-1,1)
end_date=datetime.date(y,m,1) - datetime.timedelta(days=1)

#这个季度的第一天和最后一天的日期
y=date1.year
month = date1.month
if month in (1,2,3):
    quarter_start_dt = datetime.date(y,1,1)
    quarter_end_dt = datetime.date(y,4,1) - datetime.timedelta(days=1)
elif month in (4,5,6):
    quarter_start_dt = datetime.date(y,4,1)
    quarter_end_dt = datetime.date(y,7,1) - datetime.timedelta(days=1)
elif month in (7,8,9):
    quarter_start_dt = datetime.date(y,7,1)
    quarter_end_dt = datetime.date(y,10,1) - datetime.timedelta(days=1)
else:
    quarter_start_dt = datetime.date(y,10,1)
    quarter_end_dt = datetime.date(y+1,1,1) - datetime.timedelta(days=1)

#本季度天数 及 本季度剩余的天数
# quarter_days = (quarter_end_dt - quarter_start_dt).days + 1
# quarter_rem = (quarter_end_dt - date1).days

本篇文章如对您有用请点击关注哦~,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值