python 里面获取某个月每一天

这个地方提供两种方法:

方法一、通过lambda匿名函数获取到月份的每一天,然后把数据进行组装即可。

import time
fun = lambda year, month: list(range(1, 1+time.localtime(time.mktime((year,month+1,1,0,0,0,0,0,0)) - 86400).tm_mday))
fun(2013, 7)

output:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]

方法二:通过获取到最后一天倒推的方式:

先通过一个方法,来获取到给定月份的最后一天,然后用迭代器来存储每一天即可

    def last_day_of_month(self, any_day):
        next_month = any_day.replace(day=28) + timedelta(days=4)
        return next_month - timedelta(days=next_month.day)

    def get_every_single_day(self, year, month):
        """获取给定月份每一天的数据"""
        last_day = self.last_day_of_month(date(year, month, 1))
        last_day_int = int(last_day.strftime("%Y-%m-%d")[-2:])
        month_day_list = []
        for i in range(last_day_int):
            single_day = last_day - timedelta(days=i)
            month_day_list.append(single_day)
        return month_day_list
    
    

你们确定哪一种更方便呢,我在项目中使用的是第二种。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值