比较日期时间的有效方法

时间:2013-02-26 04:15:41

标签: c#

我试图执行下面的公式,只是想知道什么是有效的方法,

以下是计算公式

结果=分钟(最大(dtmealstart1,dtbkgstart),dtbkgend)

dtmealstart1= 11/02/13 8AM
dtbkgstart=11/02/13 9AM
dtbkgend=11/02/13 17.00 (5PM)
result=min(max(11/02/13 8AM,11/02/13 9AM),11/02/13 17.00 )
result=11/02/13 9AM   

我刚刚在c#中编写了这段代码来执行上述逻辑,但我只是想知道是否有最佳方法

int result = DateTime.Compare(dtmealStart1, dtBkgStart);
DateTime break1;
if (result < 0)
{
    break1 = dtBkgStart;
}
else
{
    break1 = dtmealStart1;
}
int result1 = DateTime.Compare(break1, dtBkgEnd);
DateTime mealstart1;
if(result1<0)
{
    mealstart1 = break1;
}
else
{
    mealstart1 = dtBkgEnd;
}

我的mealstart1值也会将其恢复为11/02/13 9AM

1 个答案:

答案 0 :(得分:0)

您可以使用Math Ticks

上的DateTime课程

类似的东西:

 DateTime result = new DateTime(Math.Min(Math.Max(dtmealStart1.Ticks, dtBkgStart.Ticks), dtBkgEnd.Ticks));

 // result = 11/02/13 9AM