C # DateTime ToString (& # 8220; MM-dd-гггг & # 8221;) возвращает значения смешных дней

StackOverflow https://stackoverflow.com/questions/1411339

  •  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");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top