[技巧] 如何修改操作系统的安装时间

[复制链接]
查看262 | 回复1 | 2023-12-3 09:49:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
如何修改操作系统的安装时间?具体的操作方法如下:
打开注册表,快捷键win+r,然后输入regedit再回车,即可打开注册表编辑器。
找到下面路劲: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 右侧的InstallDateInstallTime就是微软保存初始安装日期的键值,可以通过以 十进制 方式更改UNIX时间戳来更改这个时间。
2345截图20231203102525.png

InstallDate用systeminfo命令可以查看系统的安装和补丁信息。
InstallTime用我的电脑右键属性中查看

打开下面网站 http://tool.chinaz.com/Tools/unixtime.aspx 复制Unix时间戳(Unix timestamp),是十进制的数字,然后把它输入到InstallDate的十进制里面,关闭注册表即可。
也可直接复制以下代码到:https://c.runoob.com/compile/10/ 运行,直接计算出InstallDateInstallTime的值
  1. import java.math.BigDecimal;
  2. import java.text.SimpleDateFormat;

  3. /**
  4. *
  5. *
  6. * @author Kelly
  7. *
  8. */
  9. public class WindowsTimeTest {
  10.     public static void main(String[] args) {

  11.         String dateTime1 = "1601-01-01 00:00:00";

  12.         //修改成你要改的日期时间
  13.         String dateTime2 = "2024-01-01 00:00:00";
  14.         try{
  15.             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  16.             //日期时间,毫秒
  17.             long time2 = sdf.parse(dateTime2).getTime();
  18.             //毫秒转为秒
  19.             System.out.println("InstallDate:CMD->systeminfo->安装日期:"+(time2/1000));

  20.             long m = time2 - sdf.parse(dateTime1).getTime();
  21.             //毫秒转为纳秒
  22.             BigDecimal bigDecimal1 =  BigDecimal.valueOf(m);
  23.             BigDecimal bigDecimal2 =BigDecimal.valueOf(1000000);
  24.             BigDecimal multiply = bigDecimal1.multiply(bigDecimal2);
  25.             //取前18位输出
  26.             System.out.println("InstallTime:系统->关于->安装日期:"+multiply.toPlainString().substring(0,18));


  27.         }catch(Exception e){
  28.         }
  29.     }
  30. }
复制代码

2345截图20231203103256.png

修改installdata和installtime的值时均为十进制
2345截图20231203103653.png
小知识:

CMD里的systeminfo的安装日期是改:InstallDate
系统关于里面的安装日期是改:InstallTime
  • InstallDate是从伦敦时间1970年1月1日到安装时间的总秒数
  • InstallTime是从伦敦时间1601年1月1日到安装时间的总秒数
补充解析:
  windows FILETIME时间从1601/01/01 零时零分零秒开始计时,windows每个时钟滴答将计数加一,每个时钟滴答的间隔是100 nanoseconds(纳秒,1秒=10的九次方纳秒),即每个时钟滴答= 10 (-7)秒。
  unix、linux时间是从1970/01/01零时零分零秒开始计数,每秒计数加1。1970/01/01与1601/01/01的时间间隔是11644473600秒。
回复

使用道具 举报

yydy | 2023-12-15 00:22:03 | 显示全部楼层
原运行代码错误,现已修改!已成功验证
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则