如何使用C#检查数据源的正常运行时间值

时间:2014-11-24 11:21:37

标签: c# asp.net

我有这样的csv文件:

spy,20141118 11:58:41,11:58:41 up 76 days  20:43 ,0.00  0.00  0.00,100%,100%,NO
uk,20141118 11:58:51,11:58:41 up 0 min,0.06 0.02 0.00,99%,98%,YES
...
  1. 主机名,2。日期,3。正常运行时间,4。负载平均值等...
  2. 我需要检查正常运行时间值是白天还是不到1天。如果正常运行时间少于1天,则执行某些操作,否则(1天或更长时间)执行某些操作。我该如何检查?

    我可以像这样检查第一个值(在gridview上):

    DataRowView drv = e.Row.DataItem as DataRowView;
    if (drv["Hostname"].ToString().Equals("spy"))
    {
    ...
    

    但我不能为正常运行时间做这件事。

2 个答案:

答案 0 :(得分:1)

假设只提到正常运行时间为一天或更长时间的日子:

if (drv["uptime"].ToString().Contains("day"))
{
    // up for one day or more
}
else
{
    // not up for a day yet
}

答案 1 :(得分:1)

不确定如何获取csv数据,以便忽略或更改第一行,但这是将字符串转换为日期值然后将其与当前时间和日期进行比较的方式。

string data = "spy,20141123 10:58:41,11:58:41 up 76 days  20:43 ,0.00  0.00  0.00,100%,100%,NO";            
DateTime date = DateTime.Parse(data.Split(',')[1].Insert(6, "-").Insert(4, "-"));

if (date.AddDays(1) < DateTime.Now)
{               
    MessageBox.Show("up time more than 1 day");
}
else
{               
     MessageBox.Show("up time less than 1 day");
}      

将其与第二个进行比较。因此,如果计算机已经运行了23小时59分59秒,那么它仍将不到一天。

<强> [编辑]

我刚刚意识到您可能不会查看该日期和时间值,而是查看日期值。

string data = "spy,20141123 12:02:41,11:58:41 up 2 days  20:43 ,0.00  0.00  0.00,100%,100%,NO";            
int day = int.Parse(data.Split(',')[2].Split(' ')[2]);     

if (day > 1)
{               
    MessageBox.Show("up time more than 1 day");
}
else if (day == 1)
{
    MessageBox.Show("up time is 1 day");
}
else
{               
    MessageBox.Show("up time less than 1 day");
}