I'd approach this issue from the other side, namely knowing the duration of the team and its age restriction you can calculate the latest birth date of the participants of this team, e.g.
>  The team A runs from **January till the end of June 2018** and you must be **18** not later than on June 30th, it means your birth date must be **June 30th, 2000** or earlier.

>  The team B runs from **February till the end of August 2018** and you must be **18** not later than on August 31st, it means your birth date must be **August 31st, 2000** or earlier.


You request the players (participants) to register with they birth date and once they want to see which teams they may join, you show them only the teams where the latest allowable birth date is **later or equal** to their birth date, e.g.
>  Participant 1 was born on **February 11th, 2000**, they may join both **A** and **B** teams.

>  Participant 2 was born on **July 1st, 2000**, they may join only team **B**, as requirement for team **A** (**June 30th, 2000**) is earlier his birth date. 

I hope it is clear to you.