Вам необходимо перечислить все возможные форматы, которые вы хотите поддерживать, - помните, что некоторые из них неоднозначны (например, «10-11-2009» 10 ноября или 11 октября?), Поэтому ваш код будет предпочтительнее одного над другим.
Как сказал Тони, некоторые форматы будут принимать различные входные данные, в основном в отношении анализа символов разделителя и пропущенных битов (например, «DD-MON-YYYY HH24: MI: SS» будет соответствовать «31 -DEC-2009»). 10:30:00 ', '31 / deC / 2009 10:30', '31 дек 2009').
Помимо этих упрощений, вам понадобится серия BEGIN (формат1), ИСКЛЮЧЕНИЕ, КОГДА ДРУГОЕ НАЧИНАЕТСЯ (format2), ИСКЛЮЧЕНИЕ, КОГДА ДРУГОЙ, ЧЕМ НАЧИНАЕТСЯ ....