图拉丁吧 关注:8,081,097贴子:133,515,205
  • 6回复贴,共1

用C语言写了个小程序

只看楼主收藏回复

能在几十秒钟之内将整个硬盘里所有的文件都设置到某个时间,例如2011-1-1,11:11:11。
然而问题来了,为什么不能设置到1970年以前和2106年以后?
uTime [drive:\][path\][files.ext] { -n | -yyyymmdd.HHMMSS } [-s] [-t]


1楼2020-03-02 14:08回复
    设置到 2101-01-01, 01:01:01 。。


    2楼2020-03-02 14:14
    回复
      2026-02-10 07:32:20
      广告
      不感兴趣
      开通SVIP免广告
      设置时间到 2050-01-01, 00:00:00 。。。。


      3楼2020-03-02 14:16
      回复
        最初计算机操作系统是32位,而时间也是用32位表示。
        System.out.println(Integer.MAX_VALUE);
        2147483647
        Integer在JAVA内用32位表示,因此32位能表示的最大值是2147483647。另外1年365天的总秒数是31536000,2147483647/31536000 = 68.1,也就是说32位能表示的最长时间是68年,从1970年开始的话,加上68.1,实际最终到2038年01月19日03时14分07秒,便会到达最大时间,过了这个时间点,所有32位操作系统时间便会变为10000000 00000000 00000000 00000000,算下来也就是1901年12月13日20时45分52秒,这样便会出现时间回归的现象,很多软件便会运行异常了。
        网上扒的


        4楼2020-03-02 14:28
        收起回复
          这个和操作系统有关吧,你在linux下编译运行试试?


          5楼2020-03-02 14:49
          收起回复