如何在Java中将具有相同功能的多个iso日期格式转换为日期?

我正在使用ANTLR 4创建DSL,并且我想知道是否可以通过相同的功能将几种日期格式(字符串)转换为日期而不传递格式,例如,如果我的DSL就是这样的话

date1 = "2020-05-08"
date2 = "2020/05/08"
date3 = "20200508"
...

在我的Java代码中,我将字符串直接转换为日期而不知道格式,例如

Date date1 = convertToDate(date1);
Date date2 = convertToDate(date2);
Date date1 = convertToDate(date3);

而不是写作

Date date1 = convertToDate(date1,"yyyy-mm-dd");
Date date2 = convertToDate(date2,"yyyy/mm/dd");
Date date1 = convertToDate(date3,"yyyymmdd");