First off, looks like all your listed events are currently running.
The only way this would actually work would be if they were single date events. Now you can set it up to work off the end date. Mean you can set the end date to only show events that are less than 6 months into the future.
This would only show events that will have an ending date within the next 6 months. That could also be said for in the past as well.
Because your events run over time from a few weeks to a few months or more. You could showcase events that are currently running from say within the last month. Meaning their start date is within the last month from today. And it will adjust as each new day moves forward.
This is based on a range rather than a specific date.
You might just have to get it to work to your liking. However, there could be a custom code you could add to be more specific. But due to the nature of your events having such a broad range of start and end dates, that may not work
You can however, create a pagination layout and change the sorting order to have the start date with newest to oldest, limit to 6 on a page, and reference events that have an end date less than 6 months more into the future.