-1

私の質問が何度も寄せられていることは承知していますが、問題を解決できないため、もう一度書きます。

ミリ秒で表された時間を時間と分に変換したいと思います(そう思います)。どれが目標なのかはわかっています。つまり、適切な時間と分を意味しますが、それを取得できません。

私はこれを試しました:

    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 値は、解析したリモート Web サイトから取得されます。

    Number value: 33240000

この値を人間が読める時間に変換したいのですが、できません。

何か提案をお願いできますか?

前もって感謝します!

4

2 に答える 2

1

この方法を試して、ミリ秒を時、分、秒に変換してください

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

それがあなたを助けることを願っています。

于 2014-05-17T09:49:56.553 に答える
0

「お悩み」解決しました!

タイミングが分からなかったのは私です。

33240000は10:14に対応し、11:11には対応しません

この無用な質問をして申し訳ありません、問題は私の解釈にありました。

もう一度申し訳ありませんが、とにかく助けてくれてありがとう!!!

于 2014-05-17T10:13:17.860 に答える