gpt4 book ai didi

java - 获取毫秒格式

转载 作者:行者123 更新时间:2023-11-29 10:20:34 24 4
gpt4 key购买 nike

我试图让这个字符串为我的 MediaPlayer 返回 Minute:Second:Millisecond。我找到了这段代码,但无法弄清楚如何使毫秒工作并将其放在小数点后 2 位。我相信这对合适的人来说很简单!

private String getTimeString(long millis) {
StringBuffer buf = new StringBuffer();

int hours = (int) (millis / (1000*60*60));
int minutes = (int) (( millis % (1000*60*60) ) / (1000*60));
int seconds = (int) (( ( millis % (1000*60*60) ) % (1000*60) ) / 1000);


buf
.append(String.format("%02d", hours))
.append(":")
.append(String.format("%02d", minutes))
.append(":")
.append(String.format("%02d", seconds));


return buf.toString();
}

谢谢大家

最佳答案

一秒有 1000 毫秒,即毫秒需要小数点后 3 位:

/** return time in format 1:23.456 */
private String getTimeString(long millis) {
int minutes = (int) (millis / (1000 * 60));
int seconds = (int) ((millis / 1000) % 60);
int milliseconds = (int) (millis % 1000);
String.format("%d:%02d.%03d", minutes, seconds, milliseconds);
}

如果你绝对想要 2 位数的毫秒,你实际上得到的是 1/100 秒而不是毫秒:

/** return time in format 1:23.45 */
private String getTimeString(long millis) {
int minutes = (int) (millis / (1000 * 60));
int seconds = (int) ((millis / 1000) % 60);
int seconds100 = (int) ((millis / 10) % 100);
String.format("%d:%02d.%02d", minutes, seconds, seconds100);
}

但是,媒体播放器的常见显示格式是使用一个数字表示十分之一秒:

/** return time in format 1:23.4 */
private String getTimeString(long millis) {
int minutes = (int) (millis / (1000 * 60));
int seconds = (int) ((millis / 1000) % 60);
int seconds10 = (int) ((millis / 100) % 10);
String.format("%d:%02d.%d", minutes, seconds, seconds10);
}

关于java - 获取毫秒格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7049009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com