Как принять все форматы даты в C # на сервере AWS - PullRequest
0 голосов
/ 05 июня 2018

В моем локальном окружении, когда я выполняю преобразование, как показано ниже, я могу конвертировать даты и даты в формат гггг-мм-дд

string datesince="5/11/18" or "11/5/18" or "5-11-18" or "11-5-18" or "5/11/2018";
 DateTime Formatdate=   Convert.ToDateTime(datesince).ToString("yyyy-MM-dd");

Но в производственной среде это не работает, поэтому я использую приведенное ниже решение

string[] formats = new string[8] { "dd/MM/yyyy", "dd-MM-yyyy", "dd/MM/yy", "dd-MM-yy", "MM/dd/yyyy", "MM-dd-yyyy", "MM/dd/yy", "MM-dd-yy" };
   bool flag = DateTime.TryParseExact(datesince, formats, new CultureInfo("en-GB"), DateTimeStyles.None, out Formatdate);

но давая ложь ... как я могу справиться с этой ситуацией

1 Ответ

0 голосов
/ 05 июня 2018

Вы можете сделать что-то вроде этого:

string language = "gb-GB"; //Or whatever is your default

//Detect User's Language.
if (Request.UserLanguages != null)
{
   //Set the Language.
   language = Request.UserLanguages[0];
}
//Set the Culture.
Thread.CurrentThread.CurrentCulture = new CultureInfo(language);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(language);
DateTime dt = DateTime.Parse(d1);

После этого просто установите для CurrentCulture и CurrentUICulture значения по умолчанию.

...