C # Изменение CurrentCulture DateTimeFormat не работает - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь добавить на свой веб-сайт ASP.NET новую языковую поддержку (английский).

Но весь мой формат dateTime изменился с

enter image description here

до

enter image description here

когда я меняю язык на "en-EN".

Чтобы решить эту проблему, я пишу следующий код:

CultureInfo cultureInfo = new CultureInfo("en-EN");
cultureInfo.DateTimeFormat.FullDateTimePattern = "dddd, d MMMM yyyy 'y.'";
cultureInfo.DateTimeFormat.FullDateTimePattern = "dd MMMM yyyy  'y.'";
cultureInfo.DateTimeFormat.FullDateTimePattern = "d MMMM yyyy 'y.'";
cultureInfo.DateTimeFormat.DateSeparator = ".";
cultureInfo.DateTimeFormat.ShortDatePattern = "d.M.yy";
cultureInfo.DateTimeFormat.ShortDatePattern = "d.MM.yy";
cultureInfo.DateTimeFormat.ShortDatePattern = "dd.MM.yyyy";

System.Threading.Thread.CurrentThread.CurrentCulture = cultureInfo;
System.Threading.Thread.CurrentThread.CurrentUICulture = cultureInfo;

Но мой формат dateTime все еще похож на d\M\yyyy.

Что не так? Пожалуйста, помогите!

Ответы [ 3 ]

0 голосов
/ 28 августа 2018

Возможно, вы столкнулись с тем, что en-EN - это исходный английский (как в английском, а не американском английском), который представляет значения даты с прямой / обратной косой чертой, в то время как в американских обозначениях дат обычно используются тире (-) , Если вы используете Excel, попробуйте ввести дату с тире и косой чертой для 2 января, и вы должны увидеть, что разные обозначения переворачивают цифры вокруг.

Вероятно, вы испытываете .NET принудительное применение правильной культурной нотации, но вы все равно должны иметь возможность форматировать дату, например, @ Md._Abdul_Alim, используя .toString(format).

https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

0 голосов
/ 28 августа 2018

вам нужно изменить настройки даты сервера или локального компьютера Например: Настройки -> Время и язык -> Регион -> Формат :( Здесь нужно сменить страну) -> Дополнительные настройки -> Дата Вы можете изменить формат даты

Удачи:)

0 голосов
/ 28 августа 2018

Проверьте это полное понимание форматирования времени: - https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

Примеры: -

DateTime.Now.ToString("MM/dd/yyyy") 05/29/2015
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 05:50
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 05:50 AM
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 5:50
DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 5:50 AM
DateTime.Now.ToString("dddd, dd MMMM yyyy HH:mm:ss")    Friday, 29 May 2015 05:50:06
DateTime.Now.ToString("MM/dd/yyyy HH:mm")   05/29/2015 05:50
DateTime.Now.ToString("MM/dd/yyyy hh:mm tt")    05/29/2015 05:50 AM
DateTime.Now.ToString("MM/dd/yyyy H:mm")    05/29/2015 5:50
DateTime.Now.ToString("MM/dd/yyyy h:mm tt") 05/29/2015 5:50 AM
DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss")    05/29/2015 05:50:06
DateTime.Now.ToString("MMMM dd")    May 29
DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss.fffffffK") 2015-05-16T05:50:06.7199222-04:00
DateTime.Now.ToString("ddd, dd MMM yyy HH’:’mm’:’ss ‘GMT’") Fri, 16 May 2015 05:50:06 GMT
DateTime.Now.ToString("yyyy’-‘MM’-‘dd’T’HH’:’mm’:’ss")  2015-05-16T05:50:06
DateTime.Now.ToString("HH:mm")  05:50
DateTime.Now.ToString("hh:mm tt")   05:50 AM
DateTime.Now.ToString("H:mm")   5:50
DateTime.Now.ToString("h:mm tt")    5:50 AM
DateTime.Now.ToString("HH:mm:ss")   05:50:06
DateTime.Now.ToString("yyyy MMMM")  2015 May
...