c# - 通过 Visual Studio 读取 Win7 和 Win10 的 windows 启动时间
问题描述
我可以从我的 Win7 计算机上读取开始时间。
public static DateTime WindowsStartTime()
{
DateTime dt = new DateTime();
try
{
dt = DateTime.Now - new TimeSpan(0, 0, 0, 0, System.Environment.TickCount);
return dt;
}
catch (Exception ex)
{
return dt;
}
}
不幸的是,此代码不适用于 Win10 计算机。有人知道为什么这不起作用吗?
解决方案
好吧,由于System.Environment.TickCount是类型int
,它具有最大值
int.MaxValue = 2147483647 // milliseconds
这是
2147483647 ms =
2147483.647 seconds ~
24.85 days
因此,如果您在大约一个月前或更早之前打开工作站,您会因为整数溢出而出现错误的时间(不是Windows 版本)
推荐阅读
- python - 内存错误:使用 pandas 的大数据工作流
- java - 单击按钮后如何通知特定用户
- python - 更改 Kivy 的 FileChooser 的颜色主题
- c# - .net Core MVC 5 多重 B2C 身份验证
- c++ - 在导入torch之前立即根据libtorch加载共享的C/C++库
- python - Mkdocs 获取当前网址(浏览器已连接:)
- react-native - React Navigation / Expo:无法使用深度链接获取
- javascript - 是否可以在 VictoryTooltip 中使用自定义 SVG 工具提示(将 flyoutComponent 包装到现有的 VictoryTooltip)?
- shell - 无法在脚本中打印 shell 命令的结果
- fluid-framework - 如何使用流体框架调试器?