I alway forget this.
public int
m_TriggerMonth = 12,
m_TriggerDay = 29,
m_EventDays = 10;
DateTime StartDate = new DateTime(DateTime.UtcNow.Year, m_TriggerMonth, m_TriggerDay);
DateTime EndDate = StartDate.AddDays(m_EventDays);
EndDate.AddDays(EndDate.Year - StartDate.Year);
if ((DateTime.UtcNow >= StartDate && DateTime.UtcNow <= EndDate) ||
(DateTime.UtcNow >= StartDate.AddYears(-1) && DateTime.UtcNow <= EndDate.AddYears(-1)))
{
// will happen on each year
}