繁体   English   中英

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

[英]How do I check is uptime value on datasource with C#

我有这样的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。平均负载等...

我需要检查正常运行时间是一天还是少于1天。 如果正常运行时间少于1天,则执行某项操作,否则(1天或更长)执行某项操作。 我该如何检查?

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

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

但是我无法正常运行。

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

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

不确定如何获取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");
}                   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM