十八、日期系列之周所有日期

文章介绍了一个Python类,用于处理日期,包括计算加减天数后的日期、获取特定周的日期范围,常用于数据统计和测试计划的周期性管理工作。
摘要由CSDN通过智能技术生成

数据统计、测试计划等经常以周为单位来统计数据。所以该方法也经常用到

import datetime
import time


class Date:

   

    def day(self, add_day=0, day=None):
        """
        返回年月日
        :param add_day: 日可加可减
        :param day:自定义日
        :return:
        """
        assert type(add_day) == int, 'add_day参数必须是int类型'
        if day == None:
            year_month_day = str(datetime.date.today() + datetime.timedelta(days=add_day))
        else:
            year_month_day = str(datetime.datetime.strptime(day, '%Y-%m-%d').date() + datetime.timedelta(days=add_day))

        return year_month_day


    def weekday(self, add=0):
        """
        返回当天星期几
        :return:
        """
        from datetime import datetime
        day = datetime.strptime(self.day(add_day=add), "%Y-%m-%d").date()
        import datetime
        number = datetime.date.weekday(day)
        return number + 1

    def week_date(self,number=0):
        """
        获取某周星期一到星期天的日期
        :return:
        """
        num = self.weekday()-1
        number = number*7
        req = []
        if num == 0:
            for i in range(7):
                req.append(self.day(i+number))
        elif num == 1:
            for i in range(7):
                req.append(self.day(i+number - 1))
        elif num == 2:
            for i in range(7):
                req.append(self.day(i+number - 2))
        elif num == 3:
            for i in range(7):
                req.append(self.day(i+number - 3))
        elif num == 4:
            for i in range(7):
                req.append(self.day(i+number - 4))
        elif num == 5:
            for i in range(7):
                req.append(self.day(i+number - 5))
        elif num == 6:
            for i in range(7):
                req.append(self.day(i+number - 6))

        return req

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Bug来袭~

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值