任意の秒数を指定して、年、月、日、時間、分を取得するにはどうすればよいですか?
アルゴリズムは、最初に最大年数を計算し、次に月数などを計算する必要があります...
これを行う効率的な方法は何ですか?
それはほとんど単純な分割にかかっています。ご存知かもしれませんが...
1 分は 60 秒です。
number_of_minutes := floor(number_of_seconds / 60)
1 時間は 60 分です:
number_of_hours := floor(number_of_minutes / 60)
または
number_of_hours := floor(number_of_seconds / (60 * 60))
1 日は 24 時間です (少なくとも通常は...以下を参照してください)。
1 か月は 28 ~ 31 日です。
1 年は 365 日または 366 日、平均で365.2425 日です。
私が言及した最後の 2 つは、述べられた問題についてもっと考える必要があるかもしれません。「平均」月を定義すると、「x秒はy平均月に等しい」と言うことができます。または、秒を月にまったく変換しません。
(考えてみると、天文学者などと話していると、閏秒がときどき発生するため、1 日が常に正確に 24 時間であるとは限らないと言うでしょう。)