Not that it has a real impact on perf, but when I see repeated instances of `now.Month - 1`, I think it should be refactored to a variable. What do you think about it?

Similar feelings about using two ternaries on the same condition.