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 和 lastNonProductionTime 中识别最大的 DateTime(最新)。我如何从两者中找到最新的。请在这个问题上帮助我。

4

2 回答 2

1

您也可以使用数学:

lastTime = new DateTime(Math.Max(lastProductiontaskTime.Ticks, lastNonProductionTime.Ticks)) 
于 2012-07-26T10:23:04.817 回答
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结构可以像整数一样进行比较,最高值在时间上较晚。

于 2012-07-26T08:00:32.443 回答