如何用 Python 找出某月的第一天

这篇博客介绍了如何在Python中找出某个月的第一天,包括三种不同的实现方式:通过修改datetime对象,使用dateutil.relativedelta计算,以及利用calendar.monthrange方法。
摘要由CSDN通过智能技术生成

博客翻译自:https://www.mytecbits.com/internet/python/first-day-of-the-month

Python 没有直接地方法获取某月的第一天,但只需要一些简单的代码逻辑,就可以实现该功能:

方法一

data.replace() :用某值,代替 datetime 模块中,datetime 对象的某一部分。

from datetime import datetime
 
given_date = datetime.today().date()
print('今天的日期: ', given_date)
# 用 1 代替日期中的 天
first_day_of_month = given_date.replace(day=1)

print("\nFirst day of month: ", first_day_of_month, "\n")

方法二

datetime 模块下的 timedelta 用于找出某日期,与其所在月的第一天的差值天数,从而就能够用当天的日期,与本月第一天的时间差,计算出本月第一天:

from datetime import datetime, timedelta
give_date = datetime.today().date()
first_day_of_month = given_date - timedelta(days=int(given_date.strftime("%d"))-1)
print("\nFirst day of month: ", first_day_of_month, "\n")

方法三

第三个方法可以用 strftime 获取,只需要修改一下参数,即可获得本月的第一天:

from datetime import datetime, timedelta
given_date = datetime.today().date()
first_day_of_month = given_date.strftime("%Y-%m-01")
print("\nFirst day of month: ", first_day_of_month, "\n")

利用 Python 找出某月的最后一天

在 calendar 模块中,有一叫 monthrange 的方法,用年份、月份作为输入,并返回本月的第一天,以及该月份的总天数。

from calendar import monthrange
from datetime import datetime
def last_day_of_month(date_value):
    return date_value.replace(day = monthrange(date_value.year, date_value.month)[1])

given_date = datetime.today().date()
print("\nGiven date:", given_date, " --> Last day of month:", last_day_of_month(given_date))
 
given_date = datetime(year=2008, month=2, day=1).date()
print("\nGiven date:", given_date, " --> Last day of month:", last_day_of_month(given_date))
 
given_date = datetime(year=2009, month=2, day=1).date()
print("\nGiven date:", given_date, " --> Last day of month:", last_day_of_month(given_date), "\n")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值