DateTime и CultureInfo
у меня есть это в моем коде:
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
и когда мой нынешний культур голландский (nl-NL
) вместо 1 мая я получаю 5 января.
Я думаю, что ошибка во втором параметре dd.MM.yyyy HH:mm:ss
.
есть ли способ исправить это с помощью CultureInfo
класса?
3 ответов
вы можете попробовать следующее:
System.Globalization.CultureInfo cultureinfo =
new System.Globalization.CultureInfo("nl-NL");
DateTime dt = DateTime.Parse(date, cultureinfo);
использовать CultureInfo
класс для изменения информации о культуре.
var dutchCultureInfo = CultureInfo.CreateSpecificCulture("nl-NL");
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCultureInfo);
InvariantCulture
похож на en-US
, поэтому я бы использовал правильный CultureInfo
вместо:
var dutchCulture = CultureInfo.CreateSpecificCulture("nl-NL");
var date1 = DateTime.ParseExact(date, "dd.MM.yyyy HH:mm:ss", dutchCulture);
а как насчет того, когда культура en-us? Должен ли я кодировать для каждый язык, который существует?
если вы хотите знать, как отобразить дату в другой культуре, такой как" en-us", вы можете использовать date1.ToString(CultureInfo.CreateSpecificCulture("en-US"))
.