Why are you against creating a new variable? Does your code run on an embedded system, and you're running out of memory?*
You could
if-elsif your way through the calendar as a basic solution.
* I know, I know...
I'm too lazy to be proud of being impatient.