如何使用LINQ中的c#比较日期并获取天数

如何使用LINQ中的c#比较日期并获取天数,linq,Linq,我想将给定的日期与当前日期进行比较,并使用linq获得天数 谢谢, Vara Prasad.M我认为没有必要为此使用Linq DateTime givenDate; // given by earlier code DateTime currentDate = DateTime.Now; TimeSpan timeSpan = givenDate.Subtract(currentDate); int timeSpanInDays = timeSpan.Days; 我认为没有必要为此使用Li

我想将给定的日期与当前日期进行比较,并使用linq获得天数

谢谢,
Vara Prasad.M

我认为没有必要为此使用Linq

DateTime givenDate; // given by earlier code
DateTime currentDate = DateTime.Now;

TimeSpan timeSpan = givenDate.Subtract(currentDate);

int timeSpanInDays = timeSpan.Days;

我认为没有必要为此使用Linq

DateTime givenDate; // given by earlier code
DateTime currentDate = DateTime.Now;

TimeSpan timeSpan = givenDate.Subtract(currentDate);

int timeSpanInDays = timeSpan.Days;

我假设你在循环某个包含日期的东西。我使用了
DataTable
DataRow

我不知道你的具体情况,所以根据你的工作需要调整这个

我创建了这个foreach循环

DateTime currentDate = DateTime.Now;
foreach (System.Data.DataRow row in new System.Data.DataTable().Rows)
{
    DateTime givenDate = DateTime.Parse(row[0].ToString());
    TimeSpan timeSpan = givenDate.Subtract(currentDate);

    if (timeSpan.Days > 10)
    {
        Foo(timeSpan.Days);
    }

}
使用的可怕的力量,它已转化为

DateTime currentDate = DateTime.Now;
foreach (TimeSpan timeSpan in
    new System.Data.DataTable().Rows.Cast<DataRow>()
    .Select(row => DateTime.Parse(row[0].ToString()))
    .Select(givenDate => givenDate.Subtract(currentDate))
    .Where(timeSpan => timeSpan.Days > 10))
{
    Foo(timeSpan.Days);
}
DateTime currentDate=DateTime.Now;
foreach(TimeSpan TimeSpan in
新建System.Data.DataTable().Rows.Cast()
.Select(行=>DateTime.Parse(行[0].ToString())
.Select(givenDate=>givenDate.Subtract(当前日期))
.Where(timeSpan=>timeSpan.Days>10))
{
Foo(时间跨度天);
}
显然,这可能需要根据您的需要进行调整。我不确定你需要这些天做什么,所以我在这些天中加入了一个
if
。如果您只是将值传递到某个地方,或者使用该值,LINQ查询将删除
。Where(…)

我希望这有帮助。我不清楚你需要LINQ做什么。。。但也有一些问题。:)


(除了喜欢这个工具之外,我与JetBrains或Resharper没有任何联系。)

我假设你正在浏览包含日期的内容。我使用了
DataTable
DataRow

我不知道你的具体情况,所以根据你的工作需要调整这个

我创建了这个foreach循环

DateTime currentDate = DateTime.Now;
foreach (System.Data.DataRow row in new System.Data.DataTable().Rows)
{
    DateTime givenDate = DateTime.Parse(row[0].ToString());
    TimeSpan timeSpan = givenDate.Subtract(currentDate);

    if (timeSpan.Days > 10)
    {
        Foo(timeSpan.Days);
    }

}
使用的可怕的力量,它已转化为

DateTime currentDate = DateTime.Now;
foreach (TimeSpan timeSpan in
    new System.Data.DataTable().Rows.Cast<DataRow>()
    .Select(row => DateTime.Parse(row[0].ToString()))
    .Select(givenDate => givenDate.Subtract(currentDate))
    .Where(timeSpan => timeSpan.Days > 10))
{
    Foo(timeSpan.Days);
}
DateTime currentDate=DateTime.Now;
foreach(TimeSpan TimeSpan in
新建System.Data.DataTable().Rows.Cast()
.Select(行=>DateTime.Parse(行[0].ToString())
.Select(givenDate=>givenDate.Subtract(当前日期))
.Where(timeSpan=>timeSpan.Days>10))
{
Foo(时间跨度天);
}
显然,这可能需要根据您的需要进行调整。我不确定你需要这些天做什么,所以我在这些天中加入了一个
if
。如果您只是将值传递到某个地方,或者使用该值,LINQ查询将删除
。Where(…)

我希望这有帮助。我不清楚你需要LINQ做什么。。。但也有一些问题。:)


(除了喜欢这个工具之外,我与JetBrains或Resharper没有任何联系。)

为什么是LINQ?您在LINQ中是如何使用它的?您是否可以执行类似于
dtCurrent.Subtract(dtGiven.Days)的操作?您尝试使用LINQ的原因是什么?在网格中,我想用网格下的日期检查给定的日期如何实现为什么使用LINQ?您在LINQ中是如何使用它的?您是否可以执行类似于
dtCurrent.Subtract(dtGiven.Days)的操作?您尝试使用LINQ的原因是什么?在网格中,我想用网格下的日期检查给定的日期。在网格中,我想用当前日期检查给定的日期,因此我想在这里使用LINQ概念。在linq下如何完成?@Vara你能在问题中添加一段代码,这样我就可以看到在哪里添加代码了吗?是否将集合数据绑定到
GridView
?在网格中,我想用当前日期检查给定日期,以了解我为什么要在此处使用linq概念。在linq下如何完成?@Vara你能在问题中添加一段代码,这样我就可以看到在哪里添加代码了吗?您是否正在将集合数据绑定到
GridView