获得毫秒的格式 [英] Getting millisecond format

查看:244
本文介绍了获得毫秒的格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图让这个字符串为我的MediaPlayer返回Minute:Second:Millisecond。我已经找到了这个代码,但不知道如何使毫秒工作,并把它放在小数点后两位。

  private String getTimeString(long millis){
StringBuffer buf =新的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);

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


return buf.toString();

$ / code>

感谢所有人


 

/ **返回格式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,分,秒,毫秒);





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

  / **返回格式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,分,秒,秒100);然而,媒体播放器的通用显示格式是使用一个数字十分之一秒数:

  / **返回格式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,分,秒,秒10);
}


I am trying to get this string to return Minute:Second:Millisecond for my MediaPlayer. I have found this code, but can't figure out how to make the Milliseconds work and put it at 2 decimal places. I'm sure its simple to the right person!

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();
    }

Thanks always guys

解决方案

There are 1000 milliseconds in one second, i.e. you'd need 3 decimal places for the milliseconds:

/** 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);
}

If you absolutely want 2 digits for milliseconds, you actually get 1/100 seconds and not milliseconds:

/** 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);
}

However, a common display format for media players is to use one digit for 10ths of seconds:

/** 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);
}

这篇关于获得毫秒的格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆