开机时间的计算

这几天我琢磨着一件事,那就是怎么计算我的PC从开机到现在的总时间。

终于,看看这个函数:GetTickCount();

函数功能:GetTickCount返回(retrieve)从操作系统启动到现在所经过(elapsed)的毫秒数,它的返回值是DWORD.

知道了这个,这个程序也就不是什么难事了。。。

CODE:

 1 #include <stdlib.h>
 2 #include <time.h>
 3 #include <windows.h>
 4 #include <stdio.h>
 5 
 6 typedef struct node
 7 {
 8     int h;
 9     int m;
10     int s;
11 }*PTime;
12 
13 void sleep(long wait);
14 
15 void gettime();
16 
17 int main()
18 {
19     PTime times;
20     int flag = 1;
21     char time[128];
22     do
23     {
24         _strtime(time); // Gets the current system time (do not include the date)
25         system("cls"); // clear screen
26         printf("OS time: %s\n",time);
27 
28         gettime(times); // call gettime()
29         sleep(1000); // sleep 1 second
30 
31         printf("已开机时间: %02d小时%02d分%02d秒\n", times->h, times->m, times->s);
32     }while(flag); // always cycle
33 
34     return 0;
35 }
36 
37 void sleep(long wait)
38 {
39     long goal; // define total time
40     goal = wait + clock();
41     while(goal > clock());
42 }
43 
44 PTime gettime(PTime T)
45 {
46     int i = GetTickCount();
47     T->h = (i / 1000) / 3600;
48     T->m = (i / 1000) / 60 - T->h * 60;
49     T->s = (i / 1000) - T->h * 3600 - T->m * 60;
50     return T;
51 }

 

 

 

你可能感兴趣的:(时间)