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 }