2つの日時の間に時差があります。秒単位の間隔は3660で、これは1時間1分前を意味します。前に言ったように、秒の間隔を時間と分で表示するにはどうすればよいですか?1時間を与えることで時間を取得できます(3600/60)/60
が、残りの分と時間を取得するにはどうすればよいですか?
助けていただければ幸いです。
2つの日時の間に時差があります。秒単位の間隔は3660で、これは1時間1分前を意味します。前に言ったように、秒の間隔を時間と分で表示するにはどうすればよいですか?1時間を与えることで時間を取得できます(3600/60)/60
が、残りの分と時間を取得するにはどうすればよいですか?
助けていただければ幸いです。
このようなもの:
int totalTime = 3660;
int hours = totalTime / 3600;
int minutes = (totalTime % 3600) / 60;
Cdiv
関数を使用して、1回の関数呼び出しで商と剰余を取得できます。
#include <stdio.h>
#include <stdlib.h> //div_t
int main (int argc, char const *argv[])
{
int seconds = 3661;
div_t hrmin, minsec;
minsec = div(seconds, 60);
hrmin = div(minsec.quot, 60);
printf("%i seconds equals %i hours, %i minutes and %i seconds.\n", \
seconds, hrmin.quot, hrmin.rem, minsec.rem);
return 0;
}
モジュロ演算子を使用します。
(3660 / 60) % 60 = 1
モジュロの例:
0 % 3 = 0
1 % 3 = 1
2 % 3 = 2
3 % 3 = 0
4 % 3 = 1
5 % 3 = 2
6 % 3 = 0
7 % 3 = 1
...
ここのパターンを見ますか?