首页 > 解决方案 > 如何获得毫秒到小时、分钟、秒和剩余毫秒

问题描述

好的,所以我最近在大约一周前开始使用 java 编程,我正在尝试编写一个需要毫秒的程序,并给我小时、分钟、秒和剩余的毫秒。现在,出于某种原因,我已经把大部分内容都记下来了,给我的数字是关闭的。我应该得到 2 小时 46 分钟 40 秒和 123 毫秒。但相反,我得到了 2 小时、2 分钟、3 秒和 123 毫秒。

这是我的代码

   int beginning = 10000123; //beginning is the starting number of milli seconds
   int hours = beginning/3600000;
   int rSecs = beginning%1000; //r = remaining
   int minutes = rSecs/60;
   int seconds = rSecs%60;
   int milliSecs = rSecs%1000;
   
   System.out.println("Lab03, 100 Point Version\n");
   System.out.println("Starting Milliseconds" + beginning); 
   System.out.println("Hours:" + hours);
   System.out.println("Minutes:" + minutes);
   System.out.println("Seconds:" + seconds);
   System.out.println("Milli Seconds:" +  milliSecs);

感谢您的任何帮助!

标签: java

解决方案


您需要3600000对剩余的毫秒取模

int hours = beginning/3600000;
int rMiliSecs = beginning%3600000;

由于它是毫秒,因此您需要除以 60000(1m-> 60s -> 60000ms) 分钟并以 60000 为模得到余数

int minutes = rMiliSecs/60000;
rMiliSecs = rMiliSecs%60000;

然后除以 1000 秒,然后除以 1000(1s -> 1000ms) 剩余毫秒

int seconds = rMiliSecs/1000;
int milliSecs = rMiliSecs%1000;

推荐阅读