HOWTO · Java

Javaでミリ秒を分と秒に変換する

この記事では、Java でミリ秒を秒と分に変換する方法を学びます。

このページの内容

この記事では、Java でミリ秒を分と秒に変換する 3つの異なる方法を紹介し、サンプル コードを使用して 1つずつ見ていきます。

java.util.concurrent パッケージを使用してミリ秒を分と秒に変換する

java.util ライブラリの concurrent パッケージには、Java で時間を管理する TimeUnit クラスが含まれています。 ユーザーは、toSeconds() メソッドと toMinutes() メソッドを使用して、ミリ秒を秒と分にそれぞれ変換できます。 toSeconds()toMinutes() メソッドはどちらもミリ秒をパラメーターとして取ります。

TimeUnit クラスを使用してミリ秒を分と秒に変換するには、次の構文に従う必要があります。

toSeconds()toMinutes() の構文:

long seconds = TimeUnit.MILLISECONDS.toSeconds(mlSeconds);
long minutes = TimeUnit.MILLISECONDS.toMinutes(mlSeconds);

パラメータ:

mlSeconds 分と秒を換算するとミリ秒です。

コード例:

import java.util.concurrent.TimeUnit;
public class Test {
  public static void main(String[] args) {
    long mlSeconds = 343232232;
    // Converting Milliseconds to seconds
    int seconds = (int) TimeUnit.MILLISECONDS.toSeconds(mlSeconds);
    System.out.format("%d Milliseconds = %d seconds\n", mlSeconds, seconds);
    // converting Milliseconds to minutes
    int minutes = (int) TimeUnit.MILLISECONDS.toMinutes(mlSeconds);
    System.out.format("%d Milliseconds = %d minutes\n", mlSeconds, minutes);
    System.out.format(
        "%d Milliseconds = %d minutes and %d seconds", mlSeconds, minutes, seconds % 60);
  }
}

出力:

343232232 Milliseconds = 343232 seconds
343232232 Milliseconds = 5720 minutes
343232232 Milliseconds = 5720 minutes and 32 seconds

上記の出力では、ミリ秒が秒、分、および分と秒のみに変換されていることがわかります。

数式を使用してミリ秒を分と秒に変換する

ミリ秒を分と秒に変換する最善の方法は、内部または外部のライブラリではなく数式を使用することです。

以下の例では、ミリ秒を 1000*60 で割って分を取得しています。1 分には 60000 ミリ秒が含まれるためです。 その後、残りの秒数を取得するために、ミリ秒を 1000 で割り、そのモジュロを 60 で割ると、残りの秒数が返されます。

コード例:

public class Test {
  public static void main(String[] args) {
    long mlSeconds = 2323132;
    // Divide milliseconds by 1000 and perform modulo by 60 to get seconds
    long seconds = (mlSeconds / 1000) % 60;
    // Divide milliseconds by 1000*60 to convert to minutes as 1 minute contains the 60000
    // milliseconds
    long minutes = mlSeconds / (1000 * 60);
    System.out.format("%d Milliseconds = %d minutes and %d seconds", mlSeconds, minutes, seconds);
  }
}

出力では、2323132 ミリ秒が 38 分 43 秒に等しいことがわかります。

出力

2323132 Milliseconds = 38 minutes and 43 seconds

java.time ライブラリ メソッドを使用してミリ秒を分と秒に変換する

java.time ライブラリには Duration クラスが含まれており、これを使用して 2つの時間の間の期間を取得できます。 また、時間を秒または分に変換する組み込みメソッドも含まれています。

以下の例では、2つの時間の間の期間を取得し、それを dura オブジェクト内に格納しています。 合計秒数を取得するには、dura オブジェクトで getSeconds() メソッドを呼び出しました。同様に、継続時間の合計分数を取得するには、toMinutes() を使用しました。

コード例:

import java.time.*;
public class DurationExample4 {
  public static void main(String[] args) {
    // get duration between two times
    Duration dura = Duration.between(LocalTime.MIN, LocalTime.NOON);
    // get the total seconds of duration
    System.out.println("Total duration in seconds is: " + dura.getSeconds());
    // get the total minutes for the duration
    System.out.println("Total duration in minutes is: " + dura.toMinutes());
  }
}

出力:

Total duration in seconds is: 43200
Total duration in minutes is: 720

ユーザーは、ミリ秒を分、秒、または分と秒に変換する 3つの異なる方法を学習しました。 3つの方法すべての中で最高のパフォーマンスが得られるため、数式を使用することをお勧めします。