可能重复:
Displaying the build date
How to know when was Windows started or shutdown?
出于我的目的,我正在编写一个C#可执行文件,它将计算从现在开始的时间和上次重新启动服务器的时间(分钟)的差异。
我现在正在做的是捕获和解析cmd的输出 - > “net stats server”并创建一个新的DateTime
对象,然后将其与DateTime.Now
与TimeSpan
对象进行比较。
有没有更简洁的方法不使用第三方下载?我很害怕并非所有“net stats server”的日期格式都采用我期望的格式。
**编辑我的错误,这是重复的,但是对于我的解决方案是值得使用的:
float ticks = System.Environment.TickCount;
Console.WriteLine("Time Difference (minutes): " + ticks / 1000 / 60);
Console.WriteLine("Time Difference (hours): " + ticks / 1000 / 60 / 60);
Console.WriteLine("Time Difference (days): " + ticks / 1000 / 60 / 60 / 24);
答案 0 :(得分:11)
this answer应该可以帮到你。如果您想知道系统上次重启的时间,只需获取正常运行时间值并从当前日期/时间中减去
来自关联答案的代码
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());
}
}
}
答案 1 :(得分:1)
你可以使用其中的WMI来使用powsershell
$wmi = Get-WmiObject -Class Win32_OperatingSystem -Computer "RemoteMachineName"
$wmi.ConvertToDateTime($wmi.LastBootUpTime)
像这样......
如果您决定使用此路线并想要了解有关使用WMI http://www.powershellpro.com/powershell-tutorial-introduction/powershell-wmi-methods/
的PowerShell的更多信息,那么这是一个非常有用的链接