在 Python 中查找任何给定年份的 6 月和 12 月的最后一个营业日期
find the last business date for June and Dec of any given year in Python
我想查找 2019 年 6 月和 12 月的最后一个工作日。我的以下代码给出了上个月和本月的最后一个工作日。理想情况下,我想要一个允许我输入年份和月份的代码,它会告诉我我输入的月份和年份的最后一个工作日。
我希望 2019 年 6 月和 2019 年 12 月的输出是这样的
2906
3112
希望有人能帮帮我,谢谢
from pandas.tseries.offsets import BMonthEnd
from datetime import date
d=date.today()
offset = BMonthEnd()
#Last day of current month
current_month = offset.rollforward(d)
print(current_month)
#Last day of previous month
last_month = offset.rollback(d)
print(last_month)
这是一个函数,它将查找给定月份的最后一个工作日并将其格式化为给定格式的字符串
import datetime
def last_weekday(year, month):
# Add a month
if month == 12:
month = 1
year += 1
else:
month += 1
d = datetime.date(year, month, 1)
# Subtract a day
d -= datetime.timedelta(days=1)
# Subtract more days if we have a weekend
while d.weekday() >= 5:
d -= datetime.timedelta(days=1)
return '{:02d}{:02d}'.format(d.month, d.day)
# Examples:
last_weekday(2019, 6) # -> '0628'
last_weekday(2019, 12) # -> '1231'
我想查找 2019 年 6 月和 12 月的最后一个工作日。我的以下代码给出了上个月和本月的最后一个工作日。理想情况下,我想要一个允许我输入年份和月份的代码,它会告诉我我输入的月份和年份的最后一个工作日。
我希望 2019 年 6 月和 2019 年 12 月的输出是这样的
2906 3112
希望有人能帮帮我,谢谢
from pandas.tseries.offsets import BMonthEnd
from datetime import date
d=date.today()
offset = BMonthEnd()
#Last day of current month
current_month = offset.rollforward(d)
print(current_month)
#Last day of previous month
last_month = offset.rollback(d)
print(last_month)
这是一个函数,它将查找给定月份的最后一个工作日并将其格式化为给定格式的字符串
import datetime
def last_weekday(year, month):
# Add a month
if month == 12:
month = 1
year += 1
else:
month += 1
d = datetime.date(year, month, 1)
# Subtract a day
d -= datetime.timedelta(days=1)
# Subtract more days if we have a weekend
while d.weekday() >= 5:
d -= datetime.timedelta(days=1)
return '{:02d}{:02d}'.format(d.month, d.day)
# Examples:
last_weekday(2019, 6) # -> '0628'
last_weekday(2019, 12) # -> '1231'