Search Form – Multiple Date Range Search

I need to design a form for filter a list.

There are around 10 filter columns like time, group, stage, etc.

The problem is the time filter. They have very complex requirements for time filter. Let me to explain the issue.

There are data between year 1995 to 2018... Let takes 1995 to 2025... It is about 30 years. Users should be able to search within this range.

  1. Users should be able to search by date range like 2000 - 2010.
  2. Users should be able to search by month like 2000 - 2010 but only March. That means 2000 March, 2001 March, ......, 2010 March.
  3. Users should be able to search by queries like 2012 February, March, July and 2013 Whole year and 2014 whole year.

I have no idea how can I give a both user friendly and back-end developer friendly UI for this part.