获取系统开机的时间(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

 



本文转自郝峰波博客园博客,原文链接:http://www.cnblogs.com/fengbohello/p/4277082.html,如需转载请自行联系原作者


相关文章
|
20天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
155 78
|
24天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
56 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
30天前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
45 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
13天前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
56 8
|
20天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
87 13
|
30天前
|
自然语言处理 安全 Java
Nexpose 7.0.1 for Linux & Windows - 漏洞扫描
Nexpose 7.0.1 for Linux & Windows - 漏洞扫描
41 6
|
1月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
2月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
52 3
|
21天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
40 0
|
1月前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。

热门文章

最新文章