На моей локальной машине мой Thread.CurrentThread.CurrentCulture возвращает правильную локальную культуру (en-GB). Формат даты установлен на yyyy-MM-dd.C# Формат даты, не отображающий местный формат
В коде, когда я бегу:
value.ToShortDateString()
он возвращает "6/2/2010"
(M/D/YYYY).
Как я могу отобразить его в соответствии с местной культурой? Я не хочу жестко кодировать формат, так как приложение будет развернуто в разных странах, поэтому оно должно работать в соответствии с локальной настройкой ПК. Я также тестировал на en-US, и он отображает то же самое.
Значение моей переменной 'значение' является:
{6/2/2010 12:00:00 AM}
Date: {6/2/2010 12:00:00 AM}
Day: 2
DayOfWeek: Wednesday
DayOfYear: 153
Hour: 0
Kind: Unspecified
Millisecond: 0
Minute: 0
Month: 6
Second: 0
Ticks: 634110336000000000
TimeOfDay: {00:00:00}
Year: 2010
value.ToShortDateString() возвращает динамический формат только в зависимости от конфигурации локального рабочего стола. Проверьте мой ответ, чтобы получить больше объяснений. – mkkhedawat
Я не понимаю ваш вопрос. Ты говоришь; ваш 'CurrentCulture' является' en-GB' и спрашивает: Как я могу отобразить его в соответствии с местной культурой? _. Вы уже делали это с помощью 'ToShortDateString'. Что именно вы хотите в итоге? В формате 'yyyy-MM-dd' вместо этого? И спецификатор 'm' - это минуты, спецификатор' M' - в течение нескольких месяцев. Спецификаторы формата чувствительны к регистру. –
@Soner: ToShortDateString возвращает формат США 6/2/2010. я бы хотел, чтобы он вернулся в соответствии с местной культурой, то есть 2010-06-02. –