In the EPiServer UI when you set expiration date it'll set it on the entire page.
However if you'd need something delayed once every year you'd need to create several versions and use delayed publish. If it's once one every year I'd suggest that an editor sets expiration date and delayed publish every year instead of having something on a automatic rolling schedule.
There's no built-in way to schedule cyclical unpublish/republish. As Alf says you can just set a delayed publish (for March 1st) and an unpublish date (for May 1st). Then you'd repeat this the next year.
It might be worth registering this as a feature request. It would also be useful to be able to setup "steps" that happens on unpublish, like "when this page expires, make this page a shortcut to page X".
Side note: Be aware that once the page is unpublished, visitors using the URL will get a 404, so it might be a bit confusing/annoying for them. You might want to setup a shortcut to a fallback page in the parts of the year that the page is down. (Unfortunately there is no built-in step for this either).
The manual and Google gives me no answer, but perhaps anyone here knows?
I want to show a page between March 1st and May 1st, for example. Is there any way to schedule this so it happens every year continously? I've looked at the manage expiration function, but don't know how to republish it again.
Thanks in advance