要获取Windows电脑累计运行天数,需累加所有开机时间间隔;最权威方法是通过事件查看器筛选ID 6005事件,或用PowerShell导出时间戳;若日志被清空或系统重装,则对应时段无法找回。

你想知道这台Windows电脑从第一次开机到现在总共运行了多少天,但系统本身并不记录累计总运行时间,只保存每次开机后的连续运行时长;必须通过手动累加历史开机记录才能得到总时间。
用事件查看器追溯全部开机时刻
事件ID 6005是服务控制管理器启动的标志,每次成功开机都会写入一条,这是获取完整开机历史最权威的来源。
第一步:按 Win + R 键,输入 eventvwr.msc 并回车,打开事件查看器。
第二步:在左侧导航栏中,依次展开 Windows 日志 → 系统。
第三步:在右侧空白处点击“筛选当前日志”,在“事件ID”框中输入 6005,点击确定。
第四步:所有匹配事件按时间倒序排列,双击任意一条,查看“详细信息”选项卡里的“事件数据”部分——这里的时间戳就是该次开机的精确时刻。你需要把每一条的日期和时间抄下来,再逐段计算间隔并累加。注意:如果系统曾被重装或日志被清除过,早期记录将永久丢失,【这部分时间无法找回】。
用PowerShell导出全部6005事件时间戳
手动翻页查几十页事件太慢,用命令一次性提取所有开机时间更高效,结果可直接复制进Excel做累加计算。
方法一:管理员身份运行PowerShell,执行以下命令:
Get-WinEvent -FilterHashtable @{LogName='System'; ID=6005} | ForEach-Object { $_.TimeCreated.ToString('yyyy-MM-dd HH:mm:ss') } | Out-File -FilePath "$env:USERPROFILE\Desktop\boot_times.txt" -Encoding UTF8
执行完成后,桌面会生成一个纯文本文件,里面按倒序列出所有开机时间,每行一条,格式统一,方便后续处理。
Windows 命令行编码与兼容规范。涵盖 GBK/UTF-8 编码、PowerShell/pwsh 互操作、Python/Node.js、Git 配置及代码生成规则。适用于 Windows 10/11 + MSYS2/Git Bash 环境下的所有命令行操作。
方法二:如果只想看最近20次开机,加个限制更清晰:
Get-WinEvent -FilterHashtable @{LogName='System'; ID=6005} -MaxEvents 20 | Select-Object TimeCreated | Format-Table -HideTableHeaders
用net statistics workstation快速查本次开机时间
这个命令响应极快,不需要管理员权限,适合快速确认当前这一轮是从什么时候开始的。
按下 Win + R,输入 cmd 回车,然后执行:
net statistics workstation
在返回结果第一行查找“统计自”三个字,后面紧跟的就是本次开机的完整日期与时间,例如:统计自 2026/10/20 09:34:12。这个时间点和任务管理器里看到的“正常运行时间”起始时刻完全一致。
用systeminfo命令核对启动时间
systeminfo读取的是系统内核注册的原始启动时间戳,和net statistics结果互为验证,避免因服务异常导致某一方失准。
在命令提示符中执行:
systeminfo | find "系统启动时间"
输出形如:系统启动时间: 2026/10/20, 09:34:12。注意它用的是中文逗号分隔,且年月日之间无空格,和net statistics的格式略有不同,但时间值应完全相同。如果两者不一致,说明其中某个服务的时间记录已滞后或损坏,【此时应以事件查看器中ID 6005的记录为准】。

















