Something like this would probably work (untested):
# Get the day of month as a number
day=$(date +%-d)
# Determine the correct suffixcase$dayin
1|21|31) suffix="st";;
2|22) suffix="nd";;
3|23) suffix="rd";;
*) suffix="th";;
esac# Print the date with the ordinal suffix
formatted_date=$(date +"%B %-d$suffix, %Y")
Another way scripting in bash kinda sucks: you can’t call off to nice easy to use libraries that make this sort of thing trivial :)
Something like this would probably work (untested):
# Get the day of month as a number day=$(date +%-d) # Determine the correct suffix case $day in 1|21|31) suffix="st";; 2|22) suffix="nd";; 3|23) suffix="rd";; *) suffix="th";; esac # Print the date with the ordinal suffix formatted_date=$(date +"%B %-d$suffix, %Y")
Another way scripting in bash kinda sucks: you can’t call off to nice easy to use libraries that make this sort of thing trivial :)
I found maybe that exact same thing but not as refined as yours and sort of gave up on it. I had to focus on making everything else work first haha.
This sort of makes sense to me, though. I’ll try to incorporate it.
Update - tested and working. Thanks!
Sweet!