Sounds like you need to look at Hive Partitioning?
Seems like the perfect solution for your problem, e.g. use the date field of your parquet files as the partition key: https://duckdb.org/docs/stable/data/partitioning/hive_partitioning.html#hive-partitioning
Filters on the partition keys are automatically pushed down into the files. This way the system skips reading files that are not necessary to answer a query. For example, consider the following query on the above dataset:
HTH