java - 如何获得毫秒到小时、分钟、秒和剩余毫秒
问题描述
好的,所以我最近在大约一周前开始使用 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);
感谢您的任何帮助!
解决方案
您需要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;
推荐阅读
- sql - 消息 8114,级别 16,状态 5,第 2 行将数据类型 nvarchar 转换为 bigint 时出错
- java - 是否可以将 HERE XYZ 地图插入 Android Studio 项目?
- c# - 来自用户输入字段的唯一字母 c#
- python - 带有python的Sharepoint日历api
- python - 如果它们之间存在匹配,如何从第二个df中获取一个项目
- c++ - 静态成员函数中的返回值类型自动推导失败
- docker - 使用 jnlp-slave 的打包机的 Dockerfile
- swift - 如何运行多个 NSRegularExpression 一次
- java - 查找数字的 sqrt
- c - 如何输入大小未知的字符串