C # DateTime ToString ("MM-dd-yyyy") возвращает смешные значения дня - PullRequest
11 голосов
/ 11 сентября 2009

У меня есть следующий код в файле кода на странице ASP.Net

txtStartDate.Text = DateTime.Today.ToString("MM-dd-yyyy");

Который я ожидаю вернуть "09-11-2009". Однако, когда я запускаю страницу на сервере разработки, я вижу «09-00-2009» в текстовом поле. Я не вижу никакой причины для этого, поэтому я явно что-то упускаю. У кого-нибудь есть подсказка?

Ответы [ 5 ]

14 голосов
/ 11 сентября 2009

Я не могу понять, почему он показывает 00, но в качестве случайного предложения вы можете попробовать:

... = DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.InvariantCulture);
7 голосов
/ 11 сентября 2009

Что строка формата должна работать как положено. Я бы проверил ваше текстовое поле, чтобы убедиться, что на нем нет какой-либо маски (AJAX MaskedEditExtender?). Если вы это сделали и, возможно, неправильно указали маску, она может перезаписать то, что вы помещали в текстовое поле.

4 голосов
/ 11 сентября 2009

Попробуйте что-то вроде этого:

DateTime.Today.ToString("MM-dd-yyyy", CultureInfo.CreateSpecificCulture("en-US"))
0 голосов
/ 18 июня 2011

Используйте. Теперь, чтобы получить местное время

txtStartDate.Text = DateTime.Now.ToString("MM-dd-yyyy");
0 голосов
/ 11 сентября 2009

не могли бы вы проверить Datetime, Now.ToString ()?

...