Plural and singular "days"

I have a message that displays the count down to Christmas Day.
I’m using this template:
"{{ (strptime('12/25/2023', '%m/%d/%Y', today_at()) | as_local - today_at()).days }} days until Xmas!"
Now, on Christmas Eve it displays “1 days until Xmas!” This will not do!!
Can someone please help me with some Jinja code to get it to drop the “s” and say just “day” with one day to go.
I’ve tried a couple of options but just cant seem to get it right.
Many thanks

{% set diff = (strptime('12/25/2023', '%m/%d/%Y', today_at()) | as_local - today_at()).days %}
{{ diff }} day{{- 's' if diff != 1 else ''}} until Xmas!

Or, a fancier version where you don’t have to update the year manually…

{% set dt = (now().year~"-12-25") | as_datetime %}
{% set offset = 0 if today_at().date() <= dt.date() else 365 %}
{% set diff = ((dt | as_local + timedelta(days=offset)) - today_at()).days %}
{{ diff }} day{{- 's' if diff != 1 else ''}} until Xmas!

Very nice! Thanks @Didgeridrew and Happy Christmas.