Думаю я бы поступил так.
Эта задача включает в себя сопоставление с образцом и сортировку.
Можно для каждого формата определить регулярное выражение и для каждого формата написать конвертер в численное значение.
Затем сопоставляем строки с выражением, генерируем численные значения и помещаем в какую-нибудь коллекцию пары "дата - численное значение", сортируем по численному значению и выводим нужном порядке.
Vladimir Vasilenko, да я так и сделал
Только вопрсо как правильно получить из этих дат числовые значения правильные
Сложность тут в том что где то нет года, месяца, где то часа или минут