龙空技术网

linux获取本地时间在终端打印

季盛永和 113

前言:

今天我们对“c语言显示系统时间”大概比较关怀,同学们都需要了解一些“c语言显示系统时间”的相关资讯。那么小编同时在网络上搜集了一些关于“c语言显示系统时间””的相关文章,希望姐妹们能喜欢,咱们一起来学习一下吧!

总体概述:

在linux系统环境下,编写C语言程序,调用C库函数,获取本地时间并打印在终端上。需要用到的函数有 time, localtime_r这几个函数。

函数原型:

time函数原型1:time_t time(time_t *tloc);

localtime_r函数原型2:struct tm *localtime_r(const time_t *timep, struct tm *result);

函数作用:

time函数的作用:返回从Epoch开始的秒数(即日历时间),1970-01-01 00:00:00 +0000 (UTC)。

localtime_r函数的作用:将日历时间转换为相对于用户指定的时区表示的分解时间表示形式。

参数介绍:

time参数介绍:

输出参数:tloc => 传入需要存储日历时间的变量地址,如果传入 NULL,日历时间从返回值获取。返回值:成功:返回日历时间值;失败:返回 -1。

localtime_r参数介绍:

输入参数:timep => 传入存有日历时间值的变量地址。输出参数:result => 传入需要存储本地时间的变量地址。返回值:成功:返回struct tm *结构地址;失败:返回 NULL。

补充:struct tm 结构体原型:struct tm {    int tm_sec;    /* Seconds (0-60) */    int tm_min;    /* Minutes (0-59) */    int tm_hour;   /* Hours (0-23) */    int tm_mday;   /* Day of the month (1-31) */    int tm_mon;    /* Month (0-11) */    int tm_year;   /* Year - 1900 */    int tm_wday;   /* Day of the week (0-6, Sunday = 0) */    int tm_yday;   /* Day in the year (0-365, 1 Jan = 0) */    int tm_isdst;  /* Daylight saving time */};

代码示例:

#include <stdio.h>#include <time.h>int main(int argc, char **argv){    struct tm tm;    time_t tloc = time(NULL);    localtime_r(&tloc, &tm);    printf("%04d-%02d-%02d %02d:%02d:%02d\n", \        tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, \        tm.tm_hour, tm.tm_min, tm.tm_sec);        return 0;}

使用方法:

$ mkdir ~/clanguage && cd ~/clanguage$ touch localtime.c             注:创建并拷贝代码到localtime.c,保存退出。$ gcc -o localtime localtime.c$ ./localtime

运行效果:

程序运行效果图

注:由于作者能力有限,文中表述难免有错误。如果发现文中错误之处,敬请广大好友批评指正。

标签: #c语言显示系统时间