C# 如何将Entity Framework 5中的日期时间选择转换为仅选择日期部分?

C# 如何将Entity Framework 5中的日期时间选择转换为仅选择日期部分?,c#,linq-to-entities,entity-framework-5,C#,Linq To Entities,Entity Framework 5,这不起作用: select new Schedules { airDate = EntityFunctions.TruncateTime(schedules.DateSched), }; schedules.DateSched的类型为“SQL DateTime” 上面的函数返回它的日期和时间部分 如何仅将schedules.DateSched的日期部分分配给我的“airDate”变量 这是实体框架产生的结果: convert (datetime2, convert(varchar(25

这不起作用:

select new Schedules
{
    airDate = EntityFunctions.TruncateTime(schedules.DateSched),
};
schedules.DateSched的类型为“SQL DateTime”

上面的函数返回它的日期和时间部分

如何仅将schedules.DateSched的日期部分分配给我的“airDate”变量

这是实体框架产生的结果:

convert (datetime2, convert(varchar(255), <field>, 102) ,  102) AS [C4] 
convert(datetime2,convert(varchar(255),102),102)AS[C4]
如果您选择该选项,您将获得:

2013-06-24 00:00:00.0000000

我想得到:


2013年6月24日

您是否尝试设置日期格式

   airDate = EntityFunctions.TruncateTime(schedules.DateSched).ToString("d", 
                      CultureInfo.CreateSpecificCulture("en-US"))),

你试过格式化日期了吗

   airDate = EntityFunctions.TruncateTime(schedules.DateSched).ToString("d", 
                      CultureInfo.CreateSpecificCulture("en-US"))),

无论从SQL中得到什么,都与您的问题无关:C只有一个
DateTime
类型。没有要转换为的
日期
(仅)输入C#。因此,
2013-06-24 00:00:00.00000
是最接近没有时间的日期。

从SQL中得到的任何东西都与您的问题无关:C只有
DateTime
类型。没有要转换为的
日期
(仅)输入C#。因此,
2013-06-24 00:00:00.00000是最接近无时间日期的日期。
DateTime
类型始终具有时间组件。所有
EntityFunctions.TruncateTime
所做的就是去掉任何时间值,有效地将时间成分更改为午夜

如果只想显示日期组件,请使用适当的格式代码仅显示日期:

string myDate = dateTime.ToString("MM/dd/yyyy");

DateTime
类型始终具有时间组件。所有
EntityFunctions.TruncateTime
所做的就是去掉任何时间值,有效地将时间成分更改为午夜

如果只想显示日期组件,请使用适当的格式代码仅显示日期:

string myDate = dateTime.ToString("MM/dd/yyyy");

不幸的是,没有一个答案对我有帮助,所以在实际的gridView中,我做到了:

<asp:BoundField HeaderText="Air Date" DataField="AirDate" SortExpression="AirDate" DataFormatString="{0:d}"/>

不幸的是,没有一个答案对我有帮助,所以在实际的gridView中,我做到了:

<asp:BoundField HeaderText="Air Date" DataField="AirDate" SortExpression="AirDate" DataFormatString="{0:d}"/>


你确定它正在返回时间,或者你只是在某个地方的显示器上看到
00:00
12:00 AM
吗?你确定它正在返回时间,或者你只是在某个地方的显示器上看到
00:00
12:00 AM
吗?我不能在LINQ to Entities中使用ToString函数。你不能在Entities上使用它-显示数据时使用它。由于您没有指定如何执行此操作,因此我给出了一个通用示例。我不能在LINQ to Entities中使用ToString函数。您不能在实体上使用该函数,而是在显示数据时使用它。由于您没有指定如何执行此操作,因此我给出了一个通用示例。方法ToString有0个参数,但使用2个参数调用。方法ToString有0个参数,但使用2个参数调用。这并非毫无意义,没有一个答案对您有帮助,因为您遗漏了网格视图所需的高度相关的信息。
DataFormatString
DateTime.ToString(string format)
的string参数具有相同的效果,每个人都试图向您解释这一点。并非毫无原因,没有一个答案对您有帮助,因为您遗漏了网格视图所需的高度相关的信息。
DataFormatString
与每个人都试图向您解释的
DateTime.ToString(字符串格式)
的字符串参数具有相同的效果。