这玩意我怎么看都看不出错可是它就是错了

 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\n", 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\n", hour, min, sec);

16         }

17     }
我们缺什么?智力!我们缺什么?智力!

你可能感兴趣的:(这玩意我怎么看都看不出错可是它就是错了)