如何在c#中通过linq仅从日期时间获取日期?

如何在c#中通过linq仅从日期时间获取日期?,c#,date,datatable,C#,Date,Datatable,我有以下代码: DataTable dt = DataAccess.GetDataInDataTable(ConnString, "sp_getHolidays", CommandType.StoredProcedure); List<string> columnDates = dt.Columns.Cast<DataColumn>().Select(cols => cols.ColumnName).ToList(); DataTable dt=DataAcce

我有以下代码:

 DataTable dt = DataAccess.GetDataInDataTable(ConnString, "sp_getHolidays", CommandType.StoredProcedure);
List<string> columnDates = dt.Columns.Cast<DataColumn>().Select(cols => cols.ColumnName).ToList();
DataTable dt=DataAccess.GetDataInDataTable(ConnString,“sp_getHolidays”,CommandType.storedProcess);
List columnDates=dt.Columns.Cast().Select(cols=>cols.ColumnName).ToList();
此代码以以下格式显示日期列表:yyyy-MM-dd 00:00:00.000


但我只想要yyyy-MM-dd格式。我不想要时间。如何以我想要的方式得到它?或者甚至可以通过linq或任何其他方式实现吗?

您的
ColumnName
类型为string而不是
DateTime
,按空格拆分
ColumnName
,然后选择第一个元素
Date

List<string> columnDates = dt.Columns.Cast<DataColumn>()
               .Select(cols => cols.ColumnName.Split(" ").First())
               .ToList();
List columnDates=dt.Columns.Cast()
.Select(cols=>cols.ColumnName.Split(“”.First())
.ToList();

cols=>cols.ColumnName.Substring(0,10)
@mjwills,我希望这将为我提供yyyy-MM-dd格式?能否请您在SSMS(SQL Server工具)中运行存储的过程,并在那里向我们显示结果的屏幕截图?这将帮助我们确定日期是在列名中,还是在列本身的数据中。您是否尝试了我的建议@noobprogrammer?成功了吗?嘿!是的,我明白了。非常感谢你。