From my grammar book:
"Adverbial phrases that express time and tell when something occurs at a particular point in time appear in the accusative case.
Ich habe sie letzte Woche besucht.
Er wird nächsten Sonntag vorbeikommen"
(Ed Swick, German Grammar Drills)
If it helps, just imagine there's some kind of invisible preposition governing the time expression. Or hearken back to the days of Latin and other languages governed by case when prepositions were often left off and the context told you everything about how that case was used. (I'm not sure how Old High German worked, but I'm sure its cases were even more complicated than they are now).
Ah, thanks for that! To make it perhaps a bit more explicit for learners: I think the main distinction he makes here is between "adverbial" phrases and "prepositional" phrases. If the time specification is introduced by a preposition, you use the case implied by that preposition ("am heutigen Tage"). If it is introduced by an adverb, use the accusative. [As a native speaker I didn't know of this rule. Given that it is taken from a textbook, I think you can safely assume it to be correct. I couldn't come up with any counter example either]