在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.
答案 0 :(得分:2)
如果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;