3
time_t変数を午後10時に設定したい。たとえば、午後11時であれば、翌日の午後10時(23時間後)、または午後5時であれば午後10時(5時間)に設定されます。C:time_tを次の午後10時に設定する
私はこれを行うためのさまざまな方法(次の午後10時までの秒数を計算してその値を追加するなど)を考えることができますが、それらはすべてむしろハイキングのように感じられます。これを達成する最良の方法は何ですか?
time_t変数を午後10時に設定したい。たとえば、午後11時であれば、翌日の午後10時(23時間後)、または午後5時であれば午後10時(5時間)に設定されます。C:time_tを次の午後10時に設定する
私はこれを行うためのさまざまな方法(次の午後10時までの秒数を計算してその値を追加するなど)を考えることができますが、それらはすべてむしろハイキングのように感じられます。これを達成する最良の方法は何ですか?
たとえばlocaltime
を使用してstruct tm
に変換します。 10時過ぎの場合は、1日追加してください。時間を午後10時に設定します。
struct tm *tm;
tm = localtime(t);
if (tm->tm_hour >= 22)
tm->tm_mday++;
tm->hour = 22;
はmktime
を使用してtime_t
に戻って変換します。
私はどのようにtime_tに変換しますか? – Zeno
@Zeno私は編集しました。 – cnicutar