fork download
  1. //Rextester.Program.Main is the entry point for your code. Don't change it.
  2. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5
  3.  
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text.RegularExpressions;
  8. using System.Globalization;
  9.  
  10. namespace Rextester
  11. {
  12. public class Program
  13. {
  14. public static void Main(string[] args)
  15. {
  16. string[] dateStrings = {"Apr 6, 2009", "06-Apr-2009", "6 avr. 2009", "06.04.2009", "12/11/1900", "11/12/1900"};
  17. foreach (string dateString in dateStrings)
  18. {
  19. Console.WriteLine(GetDateTime(dateString).ToString());
  20. }
  21. }
  22.  
  23. private static DateTime GetDateTime(string dateString){
  24. DateTime res = new DateTime();
  25. if(DateTime.TryParse(dateString, System.Globalization.CultureInfo.GetCultureInfo("en-GB"),
  26. System.Globalization.DateTimeStyles.None, out res))
  27. return res;
  28. else if(DateTime.TryParse(dateString, System.Globalization.CultureInfo.GetCultureInfo("en-US"),
  29. System.Globalization.DateTimeStyles.None, out res))
  30. return res;
  31. else if(DateTime.TryParse(dateString, System.Globalization.CultureInfo.GetCultureInfo("fr-FR"),
  32. System.Globalization.DateTimeStyles.None, out res))
  33. return res;
  34. else if(DateTime.TryParse(dateString, System.Globalization.CultureInfo.GetCultureInfo("de-DE"),
  35. System.Globalization.DateTimeStyles.None, out res))
  36. return res;
  37. //throw error or handle the not matcing case here
  38. Console.WriteLine("Not Matching "+dateString);
  39. return res;
  40. }
  41. }
  42. }
Success #stdin #stdout 0.04s 16308KB
stdin
Standard input is empty
stdout
4/6/2009 12:00:00 AM
4/6/2009 12:00:00 AM
4/6/2009 12:00:00 AM
4/6/2009 12:00:00 AM
11/12/1900 12:00:00 AM
12/11/1900 12:00:00 AM