2

これは機能していません:

select new Schedules
{
    airDate = EntityFunctions.TruncateTime(schedules.DateSched),
};

schedules.DateSched は「SQL DateTime」型です。

上記の関数は、日付と時刻の部分を返しています。

schedules.DateSched の DATE 部分のみを「airDate」変数に割り当てるにはどうすればよいですか?

これは、Entity Framework が生成するものです。

convert (datetime2, convert(varchar(255), <field>, 102) ,  102) AS [C4] 

そして、それを選択すると、次のようになります。

2013-06-24 00:00:00.0000000

私は手に入れたい:

2013/06/24

4

4 に答える 4

2

SQL から得られるものはすべて、質問とは無関係です。C# にはDateTime型しかありません。DateC# には、変換する (唯一の) 型はありません。その2013-06-24 00:00:00.00000ため、時間がない日付を持つことに最も近いです。

于 2013-06-24T17:54:44.037 に答える
1

日付をフォーマットしようとしましたか?

   airDate = EntityFunctions.TruncateTime(schedules.DateSched).ToString("d", 
                      CultureInfo.CreateSpecificCulture("en-US"))),
于 2013-06-24T17:54:39.423 に答える
0

残念ながら、答えはどれも役に立たなかったので、実際のgridViewで私がしたことは次のとおりです。

<asp:BoundField HeaderText="Air Date" DataField="AirDate" SortExpression="AirDate" DataFormatString="{0:d}"/>
于 2013-07-11T00:43:32.363 に答える