Dates are difficult, and as Kayaman wrote, not always possible to parse!
Personally I switched to ISO standard (YYYY-MM-DD) at least 20 years ago, but if you have to process lots of incoming files the best you can do is probably to setup a lot of fuzzy tests to detect the most probable format.
DD/MM/YY vs MM/DD/YY vs YY/MM/DD is just the most common problem, here you have to look at all the dates in a file and see if you can find samples that rule out one or more of the alternatives.
I.e. "if a field is larger than 12 then it can't be months, if larger than 31 then it has to be a year value".
Two-digit year values must be handled in an application-specific manner anyway: Where do you place the pivot value to decide upon the proper century
Bufferering the entire input and trying different alternatives in order to decide upon the most probable won't work for streaming processes, and for some inputs you'll never be absolutely sure.