转换-TSQL语句;DATEADD(Day,0,DATEDIFF(Day,0,GETDATE())”;到C#

转换-TSQL语句;DATEADD(Day,0,DATEDIFF(Day,0,GETDATE())”;到C#,tsql,c#-4.0,linq-to-entities,Tsql,C# 4.0,Linq To Entities,如何将此T-SQL查询DATEADD(Day,0,DATEDIFF(Day,0,GETDATE())转换为C#?您可以使用AddDays来增加或减少天数 DateTime date = DateTime.Today.AddDays(-1).AddDays(+1); 该T-SQL返回的是今天上午12:00的日期。(其中) 因此,一个非常简单的等价物是 DateTime todayDate = DateTime.Today; Console.WriteLine(todayDate.ToStri

如何将此T-SQL查询
DATEADD(Day,0,DATEDIFF(Day,0,GETDATE())
转换为C#?

您可以使用AddDays来增加或减少天数

DateTime date = DateTime.Today.AddDays(-1).AddDays(+1);

该T-SQL返回的是今天上午12:00的日期。(其中)
因此,一个非常简单的等价物是

 DateTime todayDate = DateTime.Today;
 Console.WriteLine(todayDate.ToString());

SQL从日期中删除时间部分,并在午夜为您提供今天的日期。即
2013-02-15 00:00:00
。在C#中,这将是日期时间。今天,你不应该增加12小时<代码>日期时间。今天是问题的答案。上午12:00是00:00(如果您愿意,也可以是24:00)。下午12:00是12:00。虽然你的陈述是正确的,但它没有回答问题-1这不是他想要的当前日期,OP也想从中添加或减去一些东西,尽管他保留了“0”…但实际上他也想知道DateDiff和DateAdd函数的替换…不,我不认为是这样。由于SQL序列非常常见,用于删除日期的时间标线。C#的正确翻译应该是
DateTime.MinValue.AddDays((DateTime.Now-DateTime.MinValue.Days)
。但是,这只会给你与
DateTime.Today
相同的日期。那么你是说正确的答案应该是DateTime date=DateTime.Today;在这种情况下,我会说,在这个问题上,他确实会要求“获取没有时间部分的日期”,但也许OP不知道SQL是如何工作的。现在正是将此功能转移到应用程序的时候。