Получить текущий месяц из столбца в ObservableCollection - PullRequest
0 голосов
/ 05 сентября 2018

В DataGrid Я отображаю все «рабочие» дни в месяце (столбец DateColumn):

ColX  |  DateColumn | ColZ
  1   |  2018-09-03 |  A
  10  |  2018-09-04 |  AA
  8   |  2018-09-05 |  A1
  234 |  2018-09-06 |  C20

Сейчас я пытаюсь построить метод, который изменит список дат на следующий и предыдущий месяц. Моя проблема состоит в том, чтобы получить текущий месяц от моего ObservableCollection.

private void PrevMonth_Executed(object obj)
{
  //Console.WriteLine(MyConceptItems.ElementAt(0).DateColumn);--2018-09-03
  int month = DateTime.ParseExact(MyConceptItems.ElementAt(0).
              DateColumn, "YYYY-MM-DD", CultureInfo.InvariantCulture).Month
}

Это у меня ниже ошибки:

Exception thrown: 'System.FormatException' in mscorlib.dll

An unhandled exception of type 'System.FormatException' occurred in mscorlib.dll

String was not recognized as a valid DateTime.

1 Ответ

0 голосов
/ 05 сентября 2018

Если DateColumn является DateTime, вы можете просто сделать это:

int month = MyConceptItems.ElementAt(0).DateColumn.Month;

Если это string, вам действительно следует изменить тип на DateTime. Или используйте следующий формат при разборе значения string:

int month = DateTime.ParseExact(MyConceptItems.ElementAt(0).DateColumn, "yyyy-MM-dd", CultureInfo.InvariantCulture).Month;
...