如何在 Windows 中查看系统总共开机了多少天 统计电脑累计运行时间
你在学习文章相关的知识吗?本文《如何在 Windows 中查看系统总共开机了多少天 统计电脑累计运行时间》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!
Windows系统累计开机总天数需通过日志回溯统计:一、事件查看器筛选ID6005/6006/6008事件手动累加运行时段;二、PowerShell脚本自动配对计算总秒数并转为天数;三、性能监视器分析Up Time归零点估算重启次数;四、注册表InstallDate与当前时间差得理论最大存活天数;五、LogParser工具解析evtx文件精确统计。

如果您需要了解 Windows 系统自首次安装或历史以来累计开机的总天数,而非单次连续运行时长,则不能依赖内核实时计时器(如“正常运行时间”),而需通过日志回溯与事件累加方式统计所有完整开机周期。以下是实现该目标的多种方法:
一、通过事件查看器提取全部开机与关机事件并手动累加
事件查看器完整记录每次系统启动(ID 6005)、正常关机(ID 6006)、意外断电(ID 6008)及计划重启(ID 1074),依据时间戳可逐段计算各次运行持续时间,并将所有有效运行时段(6005 → 6006 或 6005 → 6008)的秒数相加后换算为总天数。
1、按 Win + R 打开“运行”对话框,输入 eventvwr.msc 并回车,启动事件查看器。
2、在左侧导航树中,依次展开 Windows 日志 → 系统。
3、在右侧操作面板点击 筛选当前日志。
4、在“事件ID”栏中输入:6005,6006,6008,1074(英文逗号分隔),点击确定。
5、在结果列表中,按 TimeCreated 列升序排列,从最早一条 ID 6005 开始,查找其后最近的一条 ID 6006 或 ID 6008;若找到 ID 6006,用其时间减去该 ID 6005 时间,得到本次运行秒数;若为 ID 6008,则同样计算差值,视为一次非正常终止的运行周期。
6、将所有计算出的秒数相加,再除以 86400,所得整数即为累计开机总天数(忽略不足一天的尾数)。
二、使用 PowerShell 脚本自动配对事件并输出总天数
PowerShell 可批量读取系统日志中的启动与关机事件,按时间顺序自动配对每组 ID 6005 与其后续首个 ID 6006/6008,计算每段运行时长并求和,最终直接返回以天为单位的累计开机总时长(向下取整)。
1、以管理员身份启动 Windows Terminal(PowerShell)。
2、执行以下命令获取过去 365 天内的相关事件(如需更长时间范围,可修改 -After 参数):
Get-WinEvent -FilterHashtable @{LogName='System'; ID=6005,6006,6008; StartTime=(Get-Date).AddYears(-1)} -ErrorAction SilentlyContinue | Sort-Object TimeCreated
3、粘贴并运行完整脚本:
$events = Get-WinEvent -FilterHashtable @{LogName='System'; ID=6005,6006,6008} -MaxEvents 10000 -ErrorAction SilentlyContinue | Sort-Object TimeCreated;
$uptimeSeconds = 0;
$bootTimes = @();
foreach ($e in $events) { if ($e.Id -eq 6005) { $bootTimes += $e.TimeCreated } elseif ($e.Id -in (6006,6008) -and $bootTimes.Count -gt 0) { $lastBoot = $bootTimes[0]; $uptimeSeconds += ($e.TimeCreated - $lastBoot).TotalSeconds; $bootTimes = $bootTimes[1..($bootTimes.Length-1)] } }; [Math]::Floor($uptimeSeconds / 86400)
4、脚本执行完毕后,终端将直接输出一个整数,即为 累计开机总天数。
三、利用性能监视器导出“System\Up Time”历史采样数据
性能监视器虽仅显示当前会话的秒级计数器(System\Up Time),但若已启用数据收集器集并长期记录该计数器,则可通过分析历史 .blg 文件反推每日峰值变化,识别每次重启导致的计数器归零点,从而统计重启次数并估算最小累计开机天数(假设每次开机至少运行满 1 天)。
1、按 Win + R 输入 perfmon 并回车,打开性能监视器。
2、在左侧导航窗格中,展开 数据收集器集 → 用户定义,检查是否存在已配置并启用的收集器,其计数器包含 System\Up Time。
3、若存在有效历史记录,右键对应数据收集器,选择 最新报表 或导出为 CSV。
4、在导出文件中查找 System\Up Time 数值列,定位所有 突降至接近 0 的时间点,每个此类点代表一次系统重启。
5、统计该列中重启发生次数,再加 1(当前会话),即得最小开机次数;若确认每次开机均持续 ≥24 小时,则该数值即为保守估计的 累计开机总天数下限。
四、结合注册表 LastBootUpTime 与系统安装日期粗略估算
注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate 存储系统首次安装的 Unix 时间戳(自 1970-01-01 起秒数),而 WMI 的 LastBootUpTime 表示最近一次启动时刻;二者差值反映系统存活总时长上限,虽不等于实际开机天数(含关机休眠期),但可作为理论最大值参考。
1、按 Win + R 输入 regedit 并回车,启动注册表编辑器。
2、导航至路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion。
3、在右侧查找名为 InstallDate 的 DWORD 值,双击查看其十进制数值(例如 1672531200)。
4、打开 PowerShell,执行:$install = [DateTimeOffset]::FromUnixTimeSeconds(1672531200).DateTime; $now = Get-Date; ($now - $install).Days(将 1672531200 替换为实际值)。
5、输出结果为自安装日起至今的总天数,即该系统的 理论最大累计存活天数,实际开机天数必小于此值。
五、使用第三方工具 LogParser 批量解析 evt/evtx 文件精确统计
LogParser 是微软官方提供的命令行日志分析工具,支持 SQL 语法直接查询 Windows 事件日志文件(.evtx),可一次性扫描全部历史日志,精准匹配 ID 6005 与后续关机事件,并自动完成时间差计算与累加,适用于拥有多年系统日志存档的场景。
1、从微软官网下载并安装 LogParser 2.2 工具。
2、以管理员身份打开命令提示符,切换至系统日志所在目录(通常为 %SystemRoot%\System32\winevt\Logs\)。
3、执行以下命令(需先备份日志以防锁定):
LogParser "SELECT COUNT(*) AS BootCount FROM Security.evtx WHERE EventID=4608" -i:EVTX
4、针对系统日志执行更复杂聚合:
LogParser "SELECT QUANTIZE(TimeGenerated, 86400) AS DayBucket, COUNT(*) AS BootsPerDay INTO boots_per_day.csv FROM System.evtx WHERE EventID=6005 GROUP BY DayBucket ORDER BY DayBucket" -i:EVTX -o:CSV
5、打开生成的 boots_per_day.csv,逐行确认每日开机次数;若每日仅 1 次且无缺失,则行数即为 有记录的开机天数;将各日 BootsPerDay 相加,即得总开机次数。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
Win10怎么开启存储感知功能 Windows10自动清理垃圾文件方法
- 上一篇
- Win10怎么开启存储感知功能 Windows10自动清理垃圾文件方法
- 下一篇
- 如何在Golang中通过反射遍历数组和切片
-
- 文章 · 软件教程 | 15小时前 | Redis · 数据库工具 · ttl · 软件教程 · RedisInsight · Key管理 · redis 软件教程 TTL WorkBench RedisInsight Key筛选
- RedisInsight 查看 Redis Key 实战:连接数据库、筛选前缀和检查 TTL
- 119浏览 收藏
-
- 文章 · 软件教程 | 2天前 | MySQL · SQL · dbeaver · 软件教程 · 数据库客户端 · mysql 数据库工具 SQL Editor DBeaver Database Navigator
- DBeaver 连接 MySQL 实战:新建连接、测试连通和查看表数据
- 465浏览 收藏
-
- 文章 · 软件教程 | 2天前 | 软件教程 · OBS Studio · 录屏 · 视频录制 · 软件教程 录屏设置 OBS Studio 窗口采集 音频混音器 录制路径
- OBS Studio 录屏设置实战:窗口采集、音频检查和录制路径这样配
- 105浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- 剧云
- 剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
- 59次使用
-
- 万象有声
- 万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
- 60次使用
-
- Red Skill
- 小红书创作服务平台为小红书创作者和机构提供视频上传、数据分析、粉丝管理、创作指导等多项运营服务,助力用户解锁更多创作者专属功能,体验高效创作!
- 63次使用
-
- MiMo Code
- MiMo Code 是小米大模型团队开源的新一代 AI 编程助手,面向开发者提供代码理解、生成与辅助开发能力,适合作为 AI 编程工具收藏和体验。
- 160次使用
-
- TRAE Work
- TRAE AI IDE | 国内首款 AI 原生集成开发环境,深度集成 Doubao-1.5-pro 与 DeepSeek 模型,支持中文自然语言一键生成完整代码框架,实时预览前端效果并智能修复 BUG。首创 Builder 模式实现需求到代码的自动化开发,兼容 Windows/macOS 系统,官网下载即用。
- 184次使用
-
- pe系统下载好如何重装的具体教程
- 2023-05-01 501浏览
-
- qq游戏大厅怎么开启蓝钻提醒功能-qq游戏大厅开启蓝钻提醒功能教程
- 2023-04-29 501浏览
-
- 吉吉影音怎样播放网络视频 吉吉影音播放网络视频的操作步骤
- 2023-04-09 501浏览
-
- 腾讯会议怎么使用电脑音频 腾讯会议播放电脑音频的方法
- 2023-04-04 501浏览
-
- PPT制作图片滚动效果的简单方法
- 2023-04-26 501浏览

