将当前月份从列获取到可观察集合中



进入DataGrid我正在显示月份中的所有"工作"日(列日期列(:

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.

如果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;

最新更新