I have a time range filter (for a web app, desktop and mobile) that looks like this:

In this case, time is not relative to the user in terms of number of days (7 days ago), but it respects the actual calendar divisions (this week means from this monday to the day I'm in, this months means from the 1st).
I am pretty confident about the classification (today, yesterday, this week..) but I have two problems:
1) What happens when I am on a Monday, is "yesterday" a valid option? Should it disappear and just leave "last week"? (Sounds bad for UX to have items in the menu that change from one day to the other).
2) I want to make the :hover state of the menu include the previous dates, so for example when you hover "Last Month" it should show a different background for all the previous categories. Does this make sense with the structure? Also, what happens when you are on the 1st day of the month, and your current category actually EXCLUDES "yesterday"?
