//Rextester.Program.Main is the entry point for your code. Don't change it.
//Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Globalization;
namespace Rextester
{
public class Program
{
public static void Main(string[] args)
{
string[] dateStrings = {"Apr 6, 2009", "06-Apr-2009", "6 avr. 2009", "06.04.2009", "12/11/1900", "11/12/1900"};
foreach (string dateString in dateStrings)
{
Console.WriteLine(GetDateTime(dateString).ToString());
}
}
private static DateTime GetDateTime(string dateString){
DateTime res = new DateTime();
if(DateTime.TryParse(dateString, System.Globalization.CultureInfo.GetCultureInfo("en-GB"),
System.Globalization.DateTimeStyles.None, out res))
return res;
else if(DateTime.TryParse(dateString, System.Globalization.CultureInfo.GetCultureInfo("en-US"),
System.Globalization.DateTimeStyles.None, out res))
return res;
else if(DateTime.TryParse(dateString, System.Globalization.CultureInfo.GetCultureInfo("fr-FR"),
System.Globalization.DateTimeStyles.None, out res))
return res;
else if(DateTime.TryParse(dateString, System.Globalization.CultureInfo.GetCultureInfo("de-DE"),
System.Globalization.DateTimeStyles.None, out res))
return res;
//throw error or handle the not matcing case here
Console.WriteLine("Not Matching "+dateString);
return res;
}
}
}
Ly9SZXh0ZXN0ZXIuUHJvZ3JhbS5NYWluIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgeW91ciBjb2RlLiBEb24ndCBjaGFuZ2UgaXQuCi8vQ29tcGlsZXIgdmVyc2lvbiA0LjAuMzAzMTkuMTc5MjkgZm9yIE1pY3Jvc29mdCAoUikgLk5FVCBGcmFtZXdvcmsgNC41Cgp1c2luZyBTeXN0ZW07CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwp1c2luZyBTeXN0ZW0uR2xvYmFsaXphdGlvbjsKCm5hbWVzcGFjZSBSZXh0ZXN0ZXIKewogICAgcHVibGljIGNsYXNzIFByb2dyYW0KICAgIHsKICAgICAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgICAgIHsKICAgICAgICAgICAgc3RyaW5nW10gZGF0ZVN0cmluZ3MgPSB7IkFwciA2LCAyMDA5IiwgIjA2LUFwci0yMDA5IiwgIjYgYXZyLiAyMDA5IiwgIjA2LjA0LjIwMDkiLCAiMTIvMTEvMTkwMCIsICIxMS8xMi8xOTAwIn07CiAgICAgICAgICAgIGZvcmVhY2ggKHN0cmluZyBkYXRlU3RyaW5nIGluIGRhdGVTdHJpbmdzKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShHZXREYXRlVGltZShkYXRlU3RyaW5nKS5Ub1N0cmluZygpKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICBwcml2YXRlIHN0YXRpYyBEYXRlVGltZSBHZXREYXRlVGltZShzdHJpbmcgZGF0ZVN0cmluZyl7CiAgICAgICAgICAgIERhdGVUaW1lIHJlcyA9IG5ldyBEYXRlVGltZSgpOwogICAgICAgICAgICBpZihEYXRlVGltZS5UcnlQYXJzZShkYXRlU3RyaW5nLCBTeXN0ZW0uR2xvYmFsaXphdGlvbi5DdWx0dXJlSW5mby5HZXRDdWx0dXJlSW5mbygiZW4tR0IiKSwKICAgIFN5c3RlbS5HbG9iYWxpemF0aW9uLkRhdGVUaW1lU3R5bGVzLk5vbmUsIG91dCByZXMpKQogICAgICAgICAgICAgICAgcmV0dXJuIHJlczsKICAgICAgICAgICAgZWxzZSBpZihEYXRlVGltZS5UcnlQYXJzZShkYXRlU3RyaW5nLCBTeXN0ZW0uR2xvYmFsaXphdGlvbi5DdWx0dXJlSW5mby5HZXRDdWx0dXJlSW5mbygiZW4tVVMiKSwKICAgIFN5c3RlbS5HbG9iYWxpemF0aW9uLkRhdGVUaW1lU3R5bGVzLk5vbmUsIG91dCByZXMpKQogICAgICAgICAgICAgICAgcmV0dXJuIHJlczsKICAgICAgICAgICAgZWxzZSBpZihEYXRlVGltZS5UcnlQYXJzZShkYXRlU3RyaW5nLCBTeXN0ZW0uR2xvYmFsaXphdGlvbi5DdWx0dXJlSW5mby5HZXRDdWx0dXJlSW5mbygiZnItRlIiKSwKICAgIFN5c3RlbS5HbG9iYWxpemF0aW9uLkRhdGVUaW1lU3R5bGVzLk5vbmUsIG91dCByZXMpKQogICAgICAgICAgICAgICAgcmV0dXJuIHJlczsKICAgICAgICAgICAgZWxzZSBpZihEYXRlVGltZS5UcnlQYXJzZShkYXRlU3RyaW5nLCBTeXN0ZW0uR2xvYmFsaXphdGlvbi5DdWx0dXJlSW5mby5HZXRDdWx0dXJlSW5mbygiZGUtREUiKSwKICAgIFN5c3RlbS5HbG9iYWxpemF0aW9uLkRhdGVUaW1lU3R5bGVzLk5vbmUsIG91dCByZXMpKQogICAgICAgICAgICAgICAgcmV0dXJuIHJlczsKICAgICAgICAgICAgLy90aHJvdyBlcnJvciBvciBoYW5kbGUgdGhlIG5vdCBtYXRjaW5nIGNhc2UgaGVyZQogICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIk5vdCBNYXRjaGluZyAiK2RhdGVTdHJpbmcpOyAgICAgICAgICAgCiAgICAgICAgICAgIHJldHVybiByZXM7CiAgICAgICAgfQogICAgfQp9