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

Shubham Vora 2023年10月12日
  1. java.util.concurrent パッケージを使用してミリ秒を分と秒に変換する
  2. 数式を使用してミリ秒を分と秒に変換する
  3. java.time ライブラリ メソッドを使用してミリ秒を分と秒に変換する
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つの方法すべての中で最高のパフォーマンスが得られるため、数式を使用することをお勧めします。

著者: Shubham Vora
Shubham Vora avatar Shubham Vora avatar

Shubham is a software developer interested in learning and writing about various technologies. He loves to help people by sharing vast knowledge about modern technologies via different platforms such as the DelftStack.com website.

LinkedIn GitHub