2011-07-10 8 views
-2

任意の秒数を指定すると、年数、月数、日数、時間数、および分数はどのように取得できますか?年、月、日、時間、分を特定の秒数で取得するにはどうすればよいですか?

最初の数年間の最大数を計算する必要があり、アルゴリズム、その後、数ヶ月の数のように...

これを行うための効率的な方法は何ですか?

+5

あなたは知ってい秒数が1年(閏年)、月(1月対2月)、または曜日(閏秒と夏時間の切り替え日)で一定ではないことを確認します。 – nfechner

+0

あなたはJodaを使用できますか? – Colin

答えて

3

多くの場合、単純な分割になっています。あなたが知っているかもしれませんが...

  • 分60秒を持っています
    number_of_minutes := floor(number_of_seconds/60)

  • 時間は60分あります
    number_of_hours := floor(number_of_minutes/60)または
    number_of_hours := floor(number_of_seconds/(60 * 60))

  • 日は24を持っているが時間(少なくとも通常は...以下を参照してください)

  • 月には28〜31日間の期間があります。

  • 年は365日または366日、または平均で365.2425 daysです。私が述べた

最後の二つは述べた問題の詳細を考えるようにあなたが必要な場合があります。 「平均」月を定義すると、「x秒は、y平均月と等しくなります。秒を数ヶ月に変換することはありません。 (それについて考える、あなたは天文学者かを問わずに話していた場合、彼らはおそらく時折うるう秒に、日がない常に正確に24時間であることを教えてくれますが。)

+1

なぜdownvote?私は私の答えを改善できるように知っていただければ幸いです。 – stakx

+0

あなたは何年も話していますか?あなたが与えた価値(365.2425)は、暦年の正確な平均の長さです。暦年の実際の長さは常に正確に365日または366日です。 – svick

+1

@スウィック:正しい。私は答えが正確であることが必要であるとは思っていませんでした。私の答えの全体的なポイントは、月と年が一定の時間単位ではないことを明確にしているからです。カレンダーの時間間隔([s]で指定された)を修正すると、実際には数か月間の変換が正確になる可能性がありますが、その結果は依然として混乱する可能性があります。 – stakx

関連する問題