使用 C# 的系统运行时间不正确
System Up Time using C# is not correct
我有以下代码:
private void button1_Click(object sender, EventArgs e)
{
DateTime dtime = DateTime.MinValue.Add(UpTime);
string result = dtime.ToString(@"dd:hh\:mm\:ss");
textBox1.Text = Convert.ToString(result);
}
public TimeSpan UpTime
{
get
{
using (var uptime = new PerformanceCounter("System", "System Up Time"))
{
uptime.NextValue(); //Call this an extra time before reading its value
return TimeSpan.FromSeconds(uptime.NextValue());
}
}
}
}
}
我的问题是我的系统正常运行时间是 4 天 3 小时 22 分钟。
但申请显示还有 1 天。即 5 天 ...
我怎样才能使它正确?
DateTime.MinValue
值为 01/01/0001 00:00:00
。所以加上这个值 4 天 3 小时 22 分钟,结果将是 05/01/0001 03:22:00
.
并且由于您格式化了 那个 值,太 正常得到 05
作为一天的一部分。
您可以 直接 将您的 UpTime
属性 格式化为 TimeSpan
.
var f = new Form1();
textBox1.Text = f.UpTime.ToString(@"dd\.hh\:mm\:ss", CultureInfo.InvariantCulture);
我有以下代码:
private void button1_Click(object sender, EventArgs e)
{
DateTime dtime = DateTime.MinValue.Add(UpTime);
string result = dtime.ToString(@"dd:hh\:mm\:ss");
textBox1.Text = Convert.ToString(result);
}
public TimeSpan UpTime
{
get
{
using (var uptime = new PerformanceCounter("System", "System Up Time"))
{
uptime.NextValue(); //Call this an extra time before reading its value
return TimeSpan.FromSeconds(uptime.NextValue());
}
}
}
}
}
我的问题是我的系统正常运行时间是 4 天 3 小时 22 分钟。
但申请显示还有 1 天。即 5 天 ...
我怎样才能使它正确?
DateTime.MinValue
值为 01/01/0001 00:00:00
。所以加上这个值 4 天 3 小时 22 分钟,结果将是 05/01/0001 03:22:00
.
并且由于您格式化了 那个 值,太 正常得到 05
作为一天的一部分。
您可以 直接 将您的 UpTime
属性 格式化为 TimeSpan
.
var f = new Form1();
textBox1.Text = f.UpTime.ToString(@"dd\.hh\:mm\:ss", CultureInfo.InvariantCulture);