Advertisement
FrayxRulez

Untitled

Sep 17th, 2020
1,361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.09 KB | None | 0 0
  1. var formats = new string[]
  2. {
  3.     "dd MMM yyyy",
  4.     "dd MMM",
  5.     "MMM yyyy",
  6.     "MMM"
  7. };
  8.  
  9. var monthEngl = new string[12];
  10. var monthInLocal = new string[12];
  11.  
  12. for (int i = 1; i <= 12; i++)
  13. {
  14.     monthEngl[i - 1] = new CultureInfo("en").DateTimeFormat.GetMonthName(i).ToLower();
  15.     monthInLocal[i - 1] = new CultureInfo("it").DateTimeFormat.GetMonthName(i).ToLower();
  16. }
  17.  
  18. var split = query.ToLower().Trim().Split(' ', StringSplitOptions.RemoveEmptyEntries);
  19.  
  20. for (int i = 0; i < split.Length; i++)
  21. {
  22.     if (split[i].Length > 3)
  23.     {
  24.         for (int j = 0; j < 12; j++)
  25.         {
  26.             if (monthEngl[j].StartsWith(split[i]) || monthInLocal[j].StartsWith(split[i]))
  27.             {
  28.                 split[i] = split[j].Substring(0, 3);
  29.                 break;
  30.             }
  31.         }
  32.     }
  33. }
  34.  
  35. var text = string.Join(' ', split);
  36.  
  37. foreach (var format in formats)
  38. {
  39.     if (TryParseExact(text, format, out DateTime result))
  40.     {
  41.         Console.Write("\nParsed: " + result.ToShortDateString());
  42.         Console.SetCursorPosition(header.Length, 1);
  43.         break;
  44.     }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement