获取系统开机的时间(Windows、Linux)
获取系统启动的时间。Windows系统和Linux系统
1、Windows系统
1)代码如下
#include <stdio.h> #include <time.h> #include <windows.h> #define PRINT_ALL 0xff #define PRINT_DATE (1 << 0) #define PRINT_TIME (1 << 1) void printTime(time_t nowtime, int iFlag) { struct tm *timeinfo; timeinfo = localtime( &nowtime ); int year, month, day, hour, min, sec; year = timeinfo->tm_year + 1900; month = timeinfo->tm_mon + 1; day = timeinfo->tm_mday; hour = timeinfo->tm_hour; min = timeinfo->tm_min; sec = timeinfo->tm_sec; if(iFlag & PRINT_DATE) { printf("%d-%d-%d ", year, month, day); } if(iFlag & PRINT_TIME) { printf("%02d:%02d:%02d", hour, min, sec); } fflush(stdout); } int main() { int iRunTime = GetTickCount(); time_t nowtime; time( &nowtime ); printf("Now : "); printTime(nowtime, PRINT_ALL); printf("\n"); time_t DateTime = nowtime - (iRunTime / 1000); printf("System start : "); printTime(DateTime, PRINT_ALL); printf("\n"); int iH, iM, iS, iSec; iSec = iRunTime / 1000; iH = iSec / 3600; iM = iSec / 60 % 60; iS = iSec % 60; printf("System run : %02d:%02d:%02d\n", iH, iM, iS); return 0; }
2)运行结果
2、Linux下
1)代码如下
#include <stdio.h> #include <sys/sysinfo.h> #include <time.h> #include <errno.h> #include <string.h> static int print_system_boot_time() { struct sysinfo info; time_t cur_time = 0; time_t boot_time = 0; struct tm *ptm = NULL; if (sysinfo(&info)) { fprintf(stderr, "Failed to get sysinfo, errno:%u, reason:%s\n", errno, strerror(errno)); return -1; } time(&cur_time); if (cur_time > info.uptime) { boot_time = cur_time - info.uptime; } else { boot_time = info.uptime - cur_time; } ptm = gmtime(&boot_time); printf("System boot time: %d-%-d-%d %d:%d:%d\n", ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec); return 0; } int main() { if (print_system_boot_time() != 0) { return -1; } return 0; }
2)运行结果
$ ./getSysRunTime System boot time: 2015-2-6 1:29:50
作 者:fengbohello
个人网站:http://www.fengbohello.top/
E-mail : fengbohello@foxmail.com
欢迎转载,转载请注明作者和出处。
因作者水平有限,不免出现遗漏和错误。希望热心的同学能够帮我指出来,我会尽快修改。愿大家共同进步,阿里嘎多~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?