2

私はcurrentTimeMillis();開始時刻を取得するために使用し、後でそれを使用して終了時刻を取得しています。次に、delete start from end を使用して、2 つの間の期間である値を取得します。SimpleDateFormatこれらすべての値をきれいで読みやすいものにするために使用しています。唯一のことは、10 秒 (または 300 など) のような低い値を使用していて、本格的な長い数値 (つまり、1335718053126) を使用していない場合です。私の出力?実際、SimpleDateFormat に 0 値に対して hh:mm:ss 値を出力するように要求すると、01:00:00 と表示されます。

これがなぜなのか知っている人はいますか?

他の誰かが時間の書式設定の解決策を必要としている場合は、このきちんとした小さなコードを見つけてください。 ソースリンク

public String getNiceTime(long time) {     

    String format = String.format("%%0%dd", 2);
    String seconds = String.format(format, time % 60);
    String minutes = String.format(format, (time % 3600) / 60);
    String hours = String.format(format, time / 3600);
    String outPutTime =  hours + ":" + minutes + ":" + seconds;
    return outPutTime;
}
4

1 に答える 1

2
mySimpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));

説明: おそらく GMT+1 タイム ゾーンに住んでおり、別のタイム ゾーンを指定しない限り、フォーマッタは現在のタイム ゾーンを選択するため、0 時間を GMT と見なし、GMT+1 にいるため 1 時間を出力します。

于 2013-01-18T13:30:44.897 に答える