我试图执行下面的公式,只是想知道什么是有效的方法,
以下是计算公式
结果=分钟(最大(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
答案 0 :(得分:0)
您可以使用Math
Ticks
DateTime
课程
类似的东西:
DateTime result = new DateTime(Math.Min(Math.Max(dtmealStart1.Ticks, dtBkgStart.Ticks), dtBkgEnd.Ticks));
// result = 11/02/13 9AM