2012-01-15 38 views
-2

我有兩個日期時間之間的時間差。以秒爲單位的間隔是3660,這意味着1小時和1分鐘前。我怎樣才能顯示像我以前說過的幾小時和幾分鐘的時間間隔?我可以通過做(3600/60)/60得到小時,這給了我一個小時,但我怎麼得到與小時的剩餘分鐘?如何獲得時間間隔秒數在目標c

任何幫助表示讚賞。

回答

5

事情是這樣的:

int totalTime = 3660; 
int hours = totalTime/3600; 
int minutes = (totalTime % 3600)/60; 
1

使用操作:

(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 
... 

看到這裏的格局?

1

您可以使用C div功能得到商和餘數用一個函數調用。

#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; 
} 
相關問題