I have a string which represents a DataTime value, and I want to workout what string format was used to create the string.
For example
– Given “Wednesday 27 Jan 2010” I expect “dddd dd MMM yyyy”
– Given “2010 01 27” I expect “yyyy MM dd”
Assume that the date is close to DateTime.Now and relates to the CurrentCulture. So given that we have en-GB culture
– Given “01 01 2010” I expect “dd MM yyyy”
Is there a simple way to do this?
you could split on whitespace to get an array of strings
then you could test the elements in the array against known values to try to guess the format
e.g. if you search for “Wednesday” if you find it assume “dddd”
if a four digit number assume yyyy
days and months could be a problem, you could test for > 12 for the days but that’s pretty bad
maybe you could infer the format using whitespace split then DateTime.Parse on the orignal and test against a formatted (using the infered format) version of the parsed date for equality