我在数据库(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。我从两者中找到了最新的。请帮我解决这个问题。
答案 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))