在c#中查找给定日期时间的最大日期时间

时间:2012-07-26 07:57:41

标签: asp.net c#-4.0

我在数据库(SQL Server)中存储关联生产和非生产详细信息。我的任务是,如果它们是数据库中当前日期的任何记录(在生产表或非生产表中或两者都有) ),从两个表中获取任务提交时间。我已经完成了这一点。

if ((_timeEntryId > 0) || (_timeEntryIDNonProduction > 0))
{
    if (_timeEntryId > 0)
    {
        DateTime lastProductiontaskTIme = _production.GetLastTaskTime(Convert.ToInt32(_timeEntryId));
    }

    if (_timeEntryIDNonProduction > 0)
    {
        DateTime lastNonProductionTime= _nonProduction.GetLastTaskTime(Convert.ToInt32(_timeEntryId));
    }
}

现在我的要求是从lastProductiontaskTIme&中识别出最大的DateTime(Most Current)。 lastNonProductionTime。我从两者中找到了最新的。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

DateTime lastTime;
if ((_timeEntryId > 0) || (_timeEntryIDNonProduction > 0))
{
    DateTime lastProductiontaskTime;
    if (_timeEntryId > 0)
    {
        lastProductiontaskTime = _production.GetLastTaskTime(Convert.ToInt32(_timeEntryId));
    }
    DateTime lastNonProductionTime;
    if (_timeEntryIDNonProduction > 0)
    {
        lastNonProductionTime = _nonProduction.GetLastTaskTime(Convert.ToInt32(_timeEntryId));
    }
    lastTime = lastProductiontaskTime > lastNonProductionTime  ? lastProductiontaskTime  : lastNonProductionTime;
}

这获得了两者的最高价值。 DateTime结构可以像整数一样进行比较,最高值可以在时间上进行比较。

答案 1 :(得分:0)

您也可以使用数学:

lastTime = new DateTime(Math.Max(lastProductiontaskTime.Ticks, lastNonProductionTime.Ticks)) 
相关问题