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

本文关键字:运行时间 何使用 检查 数据源 | 更新日期: 2023-09-27 18:31:38

我有这样的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 天或更长时间)做某事。我该如何检查?

我可以像这样检查第一个值(在网格视图上):

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

但是我不能为了正常运行时间而这样做。

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

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

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");
}