2014-11-24 33 views
0

數據源的正常運行時間值我有CSV文件是這樣的:我如何檢查是用C#

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天或更長時間)做某件事。我如何檢查這個?

我可以檢查這樣的第一個值(在GridView控件):

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

但我不能正常運行時間做到這一點。

回答

1

假設只會有幾天的一提,當運行時間爲一天或更大:

if (drv["uptime"].ToString().Contains("day")) 
{ 
    // up for one day or more 
} 
else 
{ 
    // not up for a day yet 
} 
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"); 
}