Windows注册表LastUsedTimeStart键值含义及麦克风使用时长计算咨询
关于Windows注册表中LastUsedTimeStart键值的解析
一、LastUsedTimeStart的本质
这个键值是Windows系统特有的FILETIME时间格式,它以100纳秒为最小计数单位,时间起始点是1601年1月1日UTC。
它和Unix时间戳(1970年起始)差异巨大的原因,就是起始年份早了369年,换算成100纳秒单位后,数值高位自然会以13开头,而且每秒会固定增加10000000(因为1秒等于10^7个100纳秒),和你观察到的速率完全一致。
二、计算麦克风多久前启动的方法
要算出麦克风的启动时长,只需要把FILETIME值转换成常规时间格式,再和当前时间做差值计算,有两种实用方法:
方法一:手动计算
- 先记一个固定偏移值:从1601年1月1日到1970年1月1日的总100纳秒数为
116444736000000000。 - 用你的LastUsedTimeStart值减去这个偏移值:
133665343051866208 - 116444736000000000 = 17220607051866208。 - 将结果除以
10000000(把100纳秒单位转换成秒),得到对应Unix时间戳:1722060705.1866208。 - 用当前Unix时间戳(你给出的
1722060933)减去这个转换后的时间戳,得到差值约为228秒,也就是3分48秒,和你说的“几分钟前刚更新”完全吻合。
方法二:用PowerShell快速转换
直接用Windows自带的PowerShell命令将FILETIME值转换成可读的本地时间:
[DateTime]::FromFileTime(133665343051866208)
执行后会直接输出对应的启动时间,和当前系统时间对比就能直观得到间隔时长。
内容的提问来源于stack exchange,提问作者S. J.
相关产品推荐
相关产品推荐

