使用VB将系统时间与字段值进行比较

时间:2013-01-15 15:45:43

标签: asp.net vb.net

我需要一些帮助来编写VB函数来比较系统时间和我的第1列日期时间变量,并返回不同的颜色背景。这是条件......

  • 如果scheduledTime晚了0-15分钟,那么背景行颜色为红色
  • 如果scheduledTime晚了15分钟 - 30分钟,那么背景行颜色为黄色
  • 如果scheduledTime是晚30分钟 - 2小时,那么背景行颜色为绿色

行渲染事件:

 Row_Rendered();

 DateTime systemTime = DateTime.Now();
 DateTime fieldTime = SCHD_DTM.CurrentValue;
 DateTime result As Integer = DateTime.Compare(fieldTime,systemTime).TotalMinutes

 if result <= 0.25 Then 
     RowATTrs("style") = "background-color:Red";

 else if result > 0.25 & result <- 0.5 Then 
     RowATTrs("style") = "background-color:Yellow";

 else if result > 0.5 & result <= 2 Then
     RowATTrs("style") = "background-color:Green";

 End If

这就是我所拥有的,我没有得到回应......

2 个答案:

答案 0 :(得分:1)

“我没有得到回应”并不是对错误或不良行为的良好描述。但是,您在代码中混合了C#和VB.NET。当然那不会编译。

但这应该:

Dim systemTime As date = Date.Now
Dim fieldTime As Date = SCHD_DTM.CurrentValue
Dim result As Double= (fieldTime - systemTime).TotalMinutes

If result <= 0.25 Then
    RowATTrs("style") = "background-color:Red"
ElseIf result > 0.25 & result < -0.5 Then
    RowATTrs("style") = "background-color:Yellow"
ElseIf result > 0.5 & result <= 2 Then
    RowATTrs("style") = "background-color:Green"
End If

但是,不确定fieldTime是否应该低于Date.Now。然后交换(fieldTime - systemTime)中的变量。

答案 1 :(得分:1)

您可以使用datediff函数找出您想要的内容,

DateDiff(DateInterval.Minute, systemTime, fieldTime)

将返回一个告诉你两个日期时间之间的分钟数。