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

Posted zhuo木鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用 Python 找出某月的第一天相关的知识,希望对你有一定的参考价值。

博客翻译自: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")

以上是关于如何用 Python 找出某月的第一天的主要内容,如果未能解决你的问题,请参考以下文章

如何用sql获取上个月的第一天和上个月的最后一天

python中输入某年某月某日,判断这一天是这一年的第几天?

如何使用js获取某月的第一天和最后一天

sql如何取某年某月的第一天和最后一天

Python实现 : 输入某年某月某日,判断某一天为当年的第几天

Python输入某年某月某日,判断这一天是这一年的第几天?