C/C++如何获取当前系统时间的实例详解
C/C++如何获取当前系统时间的实例详解 C库中与系统时间相关的函数定义在<time.h>头文件中, C++定义在<ctime>头文件中。 一、time(time_t*)函数 函数定义如下: time_t time (time_t* timer); 获取系统当前日历时间 UTC 1970-01-01 00:00:00开始的unix时间戳 参数:timer 存取结果的时间指针变量,类型为time_t,指针变量可以为null。如果timer指针非null,则time()函数返回值变量与timer指针一样,都指向同一个内存地址;否则如果timer指针为null,则time()函数返回一个time_t变量时间。 返回值,如果成功,获取当前系统日历时间,否则返回 -1。 二、结构体 struct tm 这里有几个地方要注意: 1. tm_sec 在C89的范围是[0-61],在C99更正为[0-60]。通常范围是[0-59],只是某些系统会出现60秒的跳跃。 2. tm_mon 是从零开始的,所以一月份为0,十二月份为11。 三、本地时间转换函数localtime(time_t*) 函数原型 struct tm * localtime (const time_t * timer); 将日历时间转换为本地时间,从1970年起始的时间戳转换为1900年起始的时间数据结构 四、源码及编译 current_time.cpp #include <cstdio> #include <ctime> int main(int argc,char* argv[]) { time_t rawtime; struct tm *ptminfo; time(&rawtime); ptminfo = localtime(&rawtime); printf("current: %02d-%02d-%02d %02d:%02d:%02dn",ptminfo->tm_year + 1900,ptminfo->tm_mon + 1,ptminfo->tm_mday,ptminfo->tm_hour,ptminfo->tm_min,ptminfo->tm_sec); return 0; } 编译及运行 $ g++ current_time.cpp $ ./a.out current: 2017-07-26 23:32:46 以上就是 C/C++如何获取当前系统时间的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! (编辑:武汉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |