Add end of financial year: 5 April

Closes: #3
This commit is contained in:
Edward Betts 2023-10-03 09:46:05 +01:00
parent 14133f591c
commit 760ebc6980
2 changed files with 21 additions and 0 deletions

View file

@ -181,6 +181,22 @@ def next_economist(input_date: date) -> date:
return next_thursday_date return next_thursday_date
def uk_financial_year_end(input_date: date) -> date:
"""Next date of the end of the UK financial year, April 5th."""
# Determine the year of the input date
year = input_date.year
# Calculate the UK financial year end date (April 5th)
uk_financial_year_end = date(year, 4, 5)
# If the input date is on or after the UK financial year end date,
# move to the next year
if input_date > uk_financial_year_end:
uk_financial_year_end = date(year + 1, 4, 5)
return uk_financial_year_end
def timedelta_display(delta: timedelta) -> str: def timedelta_display(delta: timedelta) -> str:
"""Format timedelta as a human readable string.""" """Format timedelta as a human readable string."""
total_seconds = int(delta.total_seconds()) total_seconds = int(delta.total_seconds())
@ -259,6 +275,7 @@ def get_data() -> dict[str, str | object]:
"us_clock_change": get_next_timezone_transition("America/New_York"), "us_clock_change": get_next_timezone_transition("America/New_York"),
"mothers_day": next_uk_mothers_day(today), "mothers_day": next_uk_mothers_day(today),
"fathers_day": next_uk_fathers_day(today), "fathers_day": next_uk_fathers_day(today),
"uk_financial_year_end": uk_financial_year_end(today),
} }
return reply return reply

View file

@ -28,6 +28,10 @@
{{days(fathers_day)}} {{days(fathers_day)}}
{{fathers_day.strftime("%a, %d %b %Y")}}</li> {{fathers_day.strftime("%a, %d %b %Y")}}</li>
<li>End of financial year:
{{days(uk_financial_year_end)}}
{{uk_financial_year_end.strftime("%a, %d %b %Y")}}</li>
<li>UK bank holiday: <li>UK bank holiday:
{{days(bank_holiday["date"])}} {{days(bank_holiday["date"])}}
{{bank_holiday["date"].strftime("%a, %d %b")}} {{bank_holiday["date"].strftime("%a, %d %b")}}