zoukankan      html  css  js  c++  java
  • 这玩意我怎么看都看不出错可是它就是错了

     1 public static void showTime() {
     2         long storedSec = -1;
     3         while (true) {
     4             long time = System.currentTimeMillis();
     5             time /= 1000;
     6             long sec = time % 60;
     7             if (sec == storedSec)
     8                 continue;
     9             storedSec = sec;
    10             time /= 60;
    11             long min = time % 60;
    12             time /= 60;
    13             long hour = time % 24;
    14             System.out.printf("%d:%d:%d
    ", hour, min, sec);
    15         }
    16     }

    显示结果:

    13:49:59

    我是死命思考啊,它怎么小时数就不对呢,明明分钟和秒都对啊。

    毫秒除一千是总秒数,秒数除六十是总分数,分数除六十是总小时数,小时数模二十四就应该是当前小时呀。

    想了beyond有二十分钟来着,后来我一翻书,突然就灵光一闪。

    麻痹格林尼治时间。

    正确答案在此。再也不干这么蛋疼的事了。

     1     /** Show current time. */
     2     public static void showTime() {
     3         long storedSec = -1;
     4         while (true) {
     5             long time = System.currentTimeMillis();
     6             time /= 1000;
     7             long sec = time % 60;
     8             if (sec == storedSec)
     9                 continue;
    10             storedSec = sec;
    11             time /= 60;
    12             long min = time % 60;
    13             time /= 60;
    14             long hour = time % 24 + 8;
    15             System.out.printf("%d:%d:%d
    ", hour, min, sec);
    16         }
    17     }
    我们缺什么?智力!我们缺什么?智力!
  • 相关阅读:
    操作系统要点总结
    ARP的通信过程
    判断网段、子网、网络号
    C++要点总结
    枚举类型
    C指针总结
    C运算符总结
    替换空格
    WCF编写时候的测试
    WCF创建到使用到发布
  • 原文地址:https://www.cnblogs.com/chihane/p/3442303.html
Copyright © 2011-2022 走看看