конвертировать дату / время в гггг / мм / дд - PullRequest
1 голос
/ 29 февраля 2012

Как я могу преобразовать объект datetime в формат гггг / мм / дд? Я пытаюсь это:

DateTime selectedDate =Convert.ToDateTime( Calendar1.SelectedDate.ToShortDateString());
selectedDate = DateTime.ParseExact(selectedDate, "yyyy/MM/dd", CultureInfo.InvariantCulture);

Но я получаю следующие ошибки:

Наилучшее совпадение перегруженного метода для 'System.DateTime.ParseExact (string, string, System.IFormatProvider)' содержит недопустимые аргументы

или

Аргумент '1': невозможно преобразовать из 'System.DateTime' в 'строку'

Ответы [ 4 ]

4 голосов
/ 29 февраля 2012

A DateTime не имеет собственного формата - только внутреннее представление.

Форматирование вступает в игру, когда вы хотите отобразить значение DateTime экземпляра:

string formatted = DateTime.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);

Приведенная выше строка formatted будет содержать значения экземпляра DateTime в требуемом формате.

0 голосов
/ 29 февраля 2012

ParseExact преобразует строку в дату и время, поэтому

selectedDate = DateTime.ParseExact("2012/02/29", "yyyy/MM/dd", CultureInfo.InvariantCulture);

будет работать.Не уверен, почему вы хотите преобразовать дату и время в дату ??

0 голосов
/ 29 февраля 2012

Использование Calendar1.SelectedDate.ToString("yyyy/MM/dd");

0 голосов
/ 29 февраля 2012

Формат даты имеет смысл, когда вы собираетесь преобразовать его в строку или отобразить в пользовательском интерфейсе или где-то еще.

Если Calendar1.SelectedDate имеет тип DateTime:

string date = Calendar1.SelectedDate.ToString(
                                      "yyyy/MM/dd", 
                                       CultureInfo.InvariantCulture);

Если Calendar1.SelectedDate имеет string тип:

string date = DateTime.ParseExact(
                          Calendar1.SelectedDate, 
                         "yyyy/MM/dd", 
                          CultureInfo.InvariantCulture);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...