Java 将毫秒转换为小时、分钟、秒时出错
我知道我的问题已经被问过很多次了,但我又写了一遍,因为我无法解决我的问题 我想把以毫秒表示的时间(我想是的)转换成小时和分钟。 我知道哪一个是目标,我的意思是正确的时间和分钟,但我无法实现它 我试过这个:Java 将毫秒转换为小时、分钟、秒时出错,java,android,timestamp,java-time,Java,Android,Timestamp,Java Time,我知道我的问题已经被问过很多次了,但我又写了一遍,因为我无法解决我的问题 我想把以毫秒表示的时间(我想是的)转换成小时和分钟。 我知道哪一个是目标,我的意思是正确的时间和分钟,但我无法实现它 我试过这个: long elevenPASTEleven= 33240000; // 11:11 Date date = new Date(elevenPASTEleven); DateFormat formatter = new SimpleDateFormat("HH:mm:s
long elevenPASTEleven= 33240000; // 11:11
Date date = new Date(elevenPASTEleven);
DateFormat formatter = new SimpleDateFormat("HH:mm:ss:SSS");
String dateFormatted = formatter.format(date);
System.out.println(dateFormatted);
输出为:
10:14:00:000
我真的不明白错误在哪里
代码中的long值是从远程网站检索的,我对其进行解析:
Number value: 33240000
所以我想把这个值转换成人类可读的时间,但我不能
你能给我一些建议吗
提前谢谢你 尝试此方法将毫秒转换为小时、分钟和秒
long millies = System.currentTimeMillis();
long hour = TimeUnit.MILLISECONDS.toHours(millies);
long minutes = TimeUnit.MILLISECONDS.toMinutes(millies);
long seconds = TimeUnit.MILLISECONDS.toSeconds(millies);
如果你想安排你的时间
public String getDurationString(int seconds)
{
int hours = seconds / 3600;
int minutes = (seconds % 3600) / 60;
seconds = seconds % 60;
return twoDigitString(hours) + ":" + twoDigitString(minutes) + ":" + twoDigitString(seconds);
}
private String twoDigitString(int number)
{
if (number == 0)
{
return "00";
}
if (number / 10 == 0)
{
return "0" + number;
}
return String.valueOf(number);
}
希望它能帮助你。我已经解决了“问题”
是我没有理解正确的时间
值33240000对应于10:14,NOT对应于11:11
我很抱歉问你这个没用的问题,问题在于我的口译
再次抱歉,谢谢你的帮助 你怎么断定是11点11分?11*60*60*1000>33240000。因为当我通过wireshark嗅探连接时,我会得到33240000的值,在应用程序上是11:11。另一个示例是12.04,转换为31560000。。。我不明白为什么11.11比12.04大,所以以后的时间的值更小?这个问题目前无法回答,因为我们不知道将时间映射到这些值的规则是什么。。。