秒から日時分に変換する方法


まず、秒数を日時分に変換するための一般的な手法を説明します。

  1. 日数の計算: 与えられた秒数を24時間(1日)で割り、整数部分を日数として取得します。例えば、1,000,000秒は11日と13時間に相当します。

  2. 残りの時間の計算: 日数を計算した後、残りの秒数を時間、分、秒に変換します。これには以下のステップが含まれます:

    • 秒数を24で割り、整数部分を時間として取得します。
    • 時間を60で割り、整数部分を分として取得します。
    • 分を60で割り、整数部分を秒として取得します。

さて、いくつかのプログラミング言語でのコード例を示します。以下の例は、Python、JavaScript、およびJavaでの秒から日時分への変換を示しています。

Pythonの例:

def convert_seconds(seconds):
    days = seconds // (24 * 3600)
    remainder = seconds % (24 * 3600)
    hours = remainder // 3600
    remainder %= 3600
    minutes = remainder // 60
    seconds = remainder % 60
    return days, hours, minutes, seconds
seconds = 1000000
days, hours, minutes, seconds = convert_seconds(seconds)
print(f"{days}日 {hours}時間 {minutes}分 {seconds}秒")

JavaScriptの例:

function convertSeconds(seconds) {
    var days = Math.floor(seconds / (24 * 3600));
    var remainder = seconds % (24 * 3600);
    var hours = Math.floor(remainder / 3600);
    remainder %= 3600;
    var minutes = Math.floor(remainder / 60);
    var seconds = remainder % 60;
    return [days, hours, minutes, seconds];
}
var seconds = 1000000;
var [days, hours, minutes, seconds] = convertSeconds(seconds);
console.log(days + "日 " + hours + "時間 " + minutes + "分 " + seconds + "秒");

Javaの例:

import java.util.concurrent.TimeUnit;
public class SecondsConverter {
    public static void main(String[] args) {
        long seconds = 1000000;
        long days = TimeUnit.SECONDS.toDays(seconds);
        seconds -= TimeUnit.DAYS.toSeconds(days);
        long hours = TimeUnit.SECONDS.toHours(seconds);
        seconds -= TimeUnit.HOURS.toSeconds(hours);
        long minutes = TimeUnit.SECONDS.toMinutes(seconds);
        seconds -= TimeUnit.MINUTES.toSeconds(minutes);
        System.out.println(days + "日 " + hours + "時間 " + minutes + "分 " + seconds + "秒");
    }
}

上記のコード例は、それぞれのプログラミング言語で秒から日時分への変換を行う方法を示しています。これらの例を使って、与えられた秒数を日時分に変換することができます。