6

まあ、タイトルはそれを要約していると思います。2 つのオブジェクトでdouble実行して取得した型のオブジェクトがあり、結果の秒数をオブジェクトに追加したいとします。ほんの数秒を失うことは気にしません。std::difftimetime_ttime_t

秒数が大きくなる可能性があることに注意してください (つまり、 で許可されている 60 秒よりも大きくなりますがstruct tm、それぞれのマシン/実装で秒を表すために使用される整数プリミティブよりも常に小さく、1 年のオーダーより大きくなることはありません。これを制限したくありません)。

これを移植可能に(つまり、C標準に従って)行うにはどうすればよいですか?

月、日、時間、分などに分割して手動でstruct tmオブジェクトに追加する必要がないことを望んでいます。きっともっと良い方法がある!?

4

3 に答える 3

3

を使用して、値をlocaltimeに変換します。これは、時間、分、秒などに分割された時間を保持します。秒数を適切に調整してから、 を使用して構造体の値を に変換します。time_tstruct tmmktimetime_t

于 2013-09-21T13:02:17.387 に答える
-3

これの複製のようです。

「C の日付/時刻型 time_t は、特定の日付からの秒数として実装されているため、それに秒を追加するには、通常の算術演算を使用するだけです。」

それがCであっても、C++との違いはないはずです:)

于 2013-09-21T13:01:08.107 に答える