C语言中time(0)的意思是?

Python014

C语言中time(0)的意思是?,第1张

time是C语言获取当前系统时间函数,以秒作单位,代表当前时间自Unix标准时间戳(1970年1月1日0点0分0秒,GMT)经过了多少秒。

形式为time_t time(time_t * t)

该函数提供两种返回方式,返回值,和指针参数。

可以根据需要选择。当参数t为空指针(NULL)时,只返回值。

而NULL的定义是(void *) 0, 所以time(0)也就是time(NULL)的另一种写法,表示只通过返回值获取时间值。

扩展资料:

time函数

函数名称: localtime

函数原型: struct tm *localtime(const time_t *timer)

函数功能: 返回一个以tm结构表达的机器时间信息

函数返回: 以tm结构表达的时间,结构tm定义如下:

#ifndef _TM_DEFINED

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日,1代表1月2日,以此类推 */

int tm_isdst/* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/

}

#define _TM_DEFINED

#endif

参数说明: timer-使用time()函数获得的机器时间

参考资料来源:百度百科-time.h

比如说当前time(0)获得的时间戳是“2013-11-10 18:15:30”的秒数,那么解释如下:

秒:对time(0)取余60的秒数就是当前的秒数,即获得秒数为30秒

分:对time(0)取余3600的秒数就是当前的分钟,此时取余3600结果为:15分钟*60秒+30秒,

若要得到分钟,那么将取余3600的结果除以60即可得出分钟,即获得的分钟数为15

时:对time(0)取余(3600*24),可获得今日零点到当前的秒数,这个秒数化为小时则要除以3600秒

是0时区的小时数,我们北京时间所在的是东8区,所以要加上8个小时(注:比如当前的零时

区时间是19点,加上8个小时就是27,此时想获得北京时间那么就得取余24,此时是北京时

间3点)

希望这么解释能让你明白!

这是用于初始化随机函数发生器的,计算机中的随机函数在生成一个随机数时需要用到一个称为随机数发生器的东西,如果不对其进行初始化,每次生成的随机数就会是相同的。srand函数就用来初始化这个发生器,参数time(0)能够生成从1970年1月1日到当前机器时间的秒数,这个数在你每次执行程序的时候都会不断增长、变化,所以用它当做种子来初始化发生器,就会生成不同的随机数了。