python常用时间算法

 

抽空对python常用时间算法做了下总结,以后周报月报季度报都省事咯~

 

#本周星期一和星期天的日期

    this_week_start_dt = date1-datetime.timedelta(days=date1.weekday())
    this_week_end_dt = date1+datetime.timedelta(days=6-date1.weekday())

 

 

#上个星期一和星期天的日期
    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)

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

 

 

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

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
 m = 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

 

转载于:https://my.oschina.net/u/234186/blog/61190

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值