C # DateTime ToString (& # 8220; MM-dd-гггг & # 8221;) возвращает значения смешных дней
-
05-07-2019 - |
Вопрос
У меня есть следующий код в файле codebehind страницы ASP.Net
txtStartDate.Text = DateTime.Today.ToString("MM-dd-yyyy");
Который я ожидаю вернуть "09-11-2009". Однако, когда я запускаю страницу на сервере разработки, я вижу " 09-00-2009 " в текстовом поле. Я не вижу никакой причины для этого, поэтому я явно что-то упускаю. У кого-нибудь есть подсказка?
Решение
Эта строка формата должна работать должным образом. Я бы проверил ваше текстовое поле, чтобы убедиться, что на нем нет какой-либо маски (AJAX MaskedEditExtender?). Если вы сделали это и, возможно, неправильно указали маску, она могла бы перезаписать то, что вы помещали в текстовое поле.
Другие советы
Я не могу понять, почему он показывает 00, но в качестве случайного предложения вы можете попробовать:
... = DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);
Попробуйте что-то вроде этого:
DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.CreateSpecificCulture("en-US"))
не могли бы вы проверить Datetime, Now.ToString ()?
Используйте. Теперь, чтобы узнать местное время
txtStartDate.Text = DateTime.Now.ToString("MM-dd-yyyy");