怎么查看系统启动时间
“系统启动时间”这句话,不同人问出来的意思往往不是一回事。有人想知道电脑这次开了多久,有人要的是精确到秒的那次开机时刻,还有人想翻出最近几天的开机记录,看看机器是不是半夜被人动过。
三种需求对应三条路。想查看系统启动时间,先搞清楚自己问的是哪一件事,再挑工具,能省不少来回折腾的功夫。
任务管理器里瞄一眼就够了
这是最快的方式,不用敲任何命令,两秒钟的事。
按 Ctrl+Shift+Esc 打开任务管理器。Win11 里左边一列图标中选“性能”,再点“CPU”;Win10 则是先切到“性能”标签页,然后左边选 CPU。
视线往右下角挪,有个 正常运行时间,格式是 天:小时:分钟:秒。这个数字代表本次开机以来系统跑了多久。
想要具体到几点几分,把鼠标停在这个数字上别动,会弹出一个小提示,写着完整的启动日期和时间。Win10 和 Win11 都有这个隐藏细节,不少人用了好几年都没发现。

命令行能拿到精确到秒的结果
任务管理器显示的是运行时长,启动时刻得靠悬停才能看到,复制不了。要能贴进文档、能存档的时间点,还是得走命令行。
按 Win+R 输入 powershell 回车,或者右键开始按钮选“终端”,然后执行:
(Get-CimInstance Win32_OperatingSystem).LastBootUpTime
输出大致长这样:2026年6月10日 星期二 8:12:03。想要更规整的格式,可以接一句格式化:
(Get-CimInstance Win32_OperatingSystem).LastBootUpTime.ToString("yyyy-MM-dd HH:mm:ss")
如果只想要一个“开了多久”的结果,用这条更直接:
(Get-Date) - (Get-CimInstance Win32_OperatingSystem).LastBootUpTime
返回的是 TimeSpan(时间跨度对象,专门用来表示一段时长),从天数到毫秒全都给你列出来。

老系统上还能用的 wmic
早些年大家习惯用这条:
wmic os get lastbootuptime
输出是一串数字,像 20260610081203.500000+480,前面 14 位就是年月日时分秒,最后的 +480 是时区偏移分钟数,看着累但能用。
麻烦在于 Win11 24H2 之后,微软把 wmic 从系统里移除了,输入会直接提示找不到命令。旧机器还能凑合,新机器就别指望了,换成 PowerShell 那条更稳。
CMD 里也有一条
systeminfo | findstr /C:"系统启动时间"
systeminfo 本身是个重型命令,跑一遍要十几二十秒,所以后面挂个 findstr 只挑那一行,别让整屏信息刷过去。真要说效率,它比 PowerShell 慢得多,胜在不用记属性名。
想翻开机历史,只有事件查看器干得了
前面两种方式都只能告诉你最近这一次,再往前就查不到了。要确认“这台电脑这周到底开过几次机”,得去事件查看器。
按 Win+R 输入 eventvwr.msc 回车。左边依次展开“Windows 日志” → “系统”,然后在右侧点“筛选当前日志”。
在“<所有事件 ID>”那一栏里填 6005,确定。
6005 这条事件的含义是“事件日志服务已启动”,每次系统开机都会写一条,时间戳就是那一次的启动时刻。列表往下一拉,一条条开机记录清清楚楚。

想连关机时间一起对照,把 ID 改成 6005,6006。6006 对应“事件日志服务已停止”,也就是关机那一刻。
再加个 6013 也可以,这条每天写一次,内容是系统从上次启动到现在的运行秒数。核对运行时长的时候,它比任务管理器多一层保险。
几种查法摆在一起看
| 方式 | 入口 | 能看到什么 | 耗时 |
|---|---|---|---|
| 任务管理器 | Ctrl+Shift+Esc | 运行时长,悬停可见启动时刻 | 秒开 |
| PowerShell | Win+R → powershell | 精确到秒的启动时间点、运行时长 | 2~3 秒 |
| systeminfo | CMD | 启动时间点 | 十几秒 |
| wmic | CMD | 启动时间点,新系统已移除 | 秒开 |
| 事件查看器 | eventvwr.msc | 历次开机、关机记录 | 5 秒左右 |
为什么几种方式算出来的时间对不上
这个坑值得单独拎出来说。同一台机器,任务管理器显示运行了 3 小时,PowerShell 却告诉你上次启动是昨天下午,这事真会发生,而且不是谁算错了。
头一个原因是快速启动。Win8 之后默认开启的一项机制:关机的时候系统并没有真正断电关停,而是把内核会话写进 hiberfil.sys(休眠文件,存在系统盘根目录的一个大文件),下次开机直接从里面恢复。对系统来说这更像一次休眠唤醒,不算完整的冷启动。有些工具会把这次恢复算作上一次启动的延续,时间点自然就往前挪了。
另一个原因是统计口径。任务管理器的正常运行时间不把睡眠时段算进去,而 LastBootUpTime 只认系统启动那一刻。笔记本合盖睡了 8 小时再掀开,两个数字能差出整整 8 小时。
所以自己心里认准一个工具就行,别今天看这个明天看那个,越比越糊涂。要留证据、要写记录,PowerShell 那条命令最靠谱。
Linux 和 macOS 上怎么查
这两类系统基本没有像样的图形入口,命令反而更干脆。
Linux 上常备的几条:
uptime -s:直接输出启动时刻,格式是 2026-06-10 08:12:03uptime -p:用人话告诉你运行了多久,比如 up 3 hours, 12 minuteswho -b:输出系统启动时间,老发行版也能用last reboot:翻历次重启记录,作用相当于 Windows 的事件查看器
macOS 上:
uptime:显示运行时长和平均负载sysctl -n kern.boottime:返回内核启动时间戳,后面跟着可读的日期,形如 { sec = 1750000000, usec = 0 } Tue Jun 10 08:12:03 2026
这些命令查的都是同一次启动的时间点,逻辑和 Windows 那边的 LastBootUpTime 一致,只是换了平台换了壳。
日常随手看一眼,任务管理器最省事;要写进工单或者排查异常重启,PowerShell 一行命令加事件查看器就够了。工具不复杂,搞清楚自己要的是时刻还是时长,剩下的就是点几下的事。