可以通过time()函数来获得计算机系统当前的日历时间(Calendar Time),处理日期时间的函数都是以本函数的返回值为基础进行运算。

1. time 函数

返回1970-1-1, 00:00:00以来经过的秒数

原型: time_t time(time_t *calptr)

结果可以通过返回值,也可以通过参数得到,见实例

头文件 <time.h>

返回值:

成功:秒数,从1970-1-1,00:00:00 可以当成整型输出或用于其它函数

失败:-1

例:

time_t now;

time(&now);// 等同于now = time(NULL)

printf("now time is %d\n", now);

程序例:

#include

int main(void)

{

time_t t;

t=time(NULL);

printf("The number of seconds since January 1, 1970 is  %d\n",t);

return 0;

}

运行的结果与当时的时间有关,我当时运行的结果是:

The Calendar Time now is 1266637045

其中1266637045就是我运行程序时的日历时间。即从1970年1月1日0时0分0秒到此时的秒数。

第6行中给time函数的参数设置为NULL,可得到具体的秒数。

可将第6行改写为以下形式:

time(&t);

变量t中存放当前的日期和时间(相当于函数返回值);如果想要将这得到日历时间,就需要用到localtime函数,如下:

2. localtime函数

将时间数值变换成本地时间,考虑到本地时区和夏令时标志;

原型: struct tm *localtime(const time_t * calptr);

头文件 <time.h>

 返回值:

成功: struct tm *结构体, 原型如下:

struct tm {

int tm_sec;       /* 秒 – 取值区间为[0,59] */

int tm_min;       /* 分 - 取值区间为[0,59] */

int tm_hour;      /* 时 - 取值区间为[0,23] */

int tm_mday;     /* 一个月中的日期 - 取值区间为[1,31] */

int tm_mon;     /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */

int tm_year;     /* 年份,其值等于实际年份减去1900 */

int tm_wday;    /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一 */

int tm_yday;    /* 从每年1月1日开始的天数– 取值区间[0,365],其中0代表1月1日 */

int tm_isdst;    /* 夏令时标识符,夏令时tm_isdst为正;不实行夏令时tm_isdst为0 */

};

此结构体空间由内核自动分配, 而且不要去释放它.

失败: NULL

例:

time_t now ;

struct tm *tm_now ;

time(&now) ;

tm_now = localtime(&now) ;

printf("now datetime: %d-%d-%d %d:%d:%d\n",

      tm_now->tm_year+1900, tm_now->tm_mon+1, tm_now->tm_mday, tm_now->tm_hour, tm_now->tm_min, tm_now->tm_sec) ;

C语言中time函数和localtime获取系统时间和日期的更多相关文章

  1. C语言中qsort函数用法

    C语言中qsort函数用法-示例分析    本文实例汇总介绍了C语言中qsort函数用法,包括针对各种数据类型参数的排序,非常具有实用价值非常具有实用价值. 分享给大家供大家参考.C语言中的qsort ...

  2. C语言中system()函数的用法总结(转)

    system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码: #include <sys/types.h> #include <sys/wait ...

  3. 使用C语言中qsort()函数对浮点型数组无法成功排序的问题

    一 写在开头 1.1 本节内容 本节主要内容是有关C语言中qsort()函数的探讨. 二 问题和相应解决方法 qsort()是C标准库中的一个通用的排序函数.它既能对整型数据进行排序也能对浮点型数据进 ...

  4. C语言中malloc函数返回值是否需要类型强制转换问题

    1. 在C语言中, 如果调用的函数没有函数原型, 则其返回值将默认为 int 型. 考虑调用malloc函数时忘记了 #include <stdlib.h>的情况 此时malloc函数返回 ...

  5. R语言中apply函数

    前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言 ...

  6. (转)C语言中Exit函数的使用

    C语言中Exit函数的使用 exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如 ...

  7. C语言中malloc函数的理解

    在C语言中malloc函数主要是用在堆内存的申请上,使用malloc函数时,函数会返回一个void *类型的值,这个值就是你申请的堆内存的首地址:为什么返回的地址是一个void *类型的地址呢?首先我 ...

  8. 关于C语言中printf函数“输出歧视”的问题

    目录 关于C语言中printf函数"输出歧视"的问题 问题描述 探索问题原因 另一种研究方法 问题结论 关于C语言中printf函数"输出歧视"的问题 问题描述 ...

  9. c语言中的c语言中realloc()函数解析

    c语言中realloc()函数解析 真是有点惭愧,这些内容本应该很早就掌握的,以前只是糊里糊涂的用,不知道在内存中具体是怎么回事,现在才弄清楚. realloc(void *__ptr, size_t ...

随机推荐

  1. django QueryDict 类型

    如果没有值,返回默认值的写法 允许有多个同名的值,但是需要用getlist 访问. 如果用常规的访问只能访问到最后一个值.

  2. Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use.

    Several ports (8005, 8080, 8009) required by Tomcat v8.5 Server at localhost are already in use. The ...

  3. centos 7 ip a 或ifconfig 报command not found

    CentOS 7 下 ifconfig command not found 或 ip command not found 解决办法 首先查看:/sbin/ifconfig   /sbin/ip 是否存 ...

  4. vue-cli本地环境API代理设置和解决跨域

    前言 我们在使用vue-cli启动项目的时候npm run dev便可以启动我们的项目了,通常我们的请求地址是以localhost:8080来请求接口数据的,localhost是没有办法设置cooki ...

  5. python学习之内存驻留机制简述

    第四章 4.1 小数据池 4.1.1 代码块 一个模块,一个函数,一个类,甚至一个command命名都可以称之为一个代码块. 官方解释: A Python program is constructed ...

  6. typedef interrupt void (*PINT)(void)的分析

    今天写程序时,在DSP2833x_PieVect.h看到typedef interrupt void (*PINT)(void)突然一愣,上网查了下发现在这是加了interrupt 中断关键字的函数指 ...

  7. mysql注入常用函数

    system_user()  系统函数名 user()   用户名 current_user()   当前用户名 session_user()    连接数据库的用户名 database()   数据 ...

  8. 结构体封装高精度 大整数BigInt

    曾经很讨厌高精度,因为它很长,不好记,而且在不是很单纯的题目里面感觉很烦(一个数就是一个数组).在一道题目中出现的时候总是用一些奇技淫巧混过去(比如把两个$long$ $long$拼在一起). 现在. ...

  9. 交换机安全学习笔记 第五章 DHCP缺陷攻击

    关于DHCP攻击有如下几类攻击方式:   一.耗尽DHCP地址池    通过随机生成源MAC地址,然后伪造DHCPDISCOVER数据包.耗尽DHCP服务器地址池.   免费的攻击工具:  Yersi ...

  10. hibernate-HQL连接查询 转载sincoolvip

    和SQL查询一样,HQL也支持各种各样的连接查询,如内连接.外连接 连接类型 HQL语法内连接 inner join 或者join迫切内连接 inner join fetch 或join fetch左 ...