关于time函数实现c语言的信息

如何用C语言获取当前系统时间?需要利用C语言time函数实现c语言的时间函数time和localtime,具体说明如下time函数实现c语言:
一、函数接口介绍time函数实现c语言:
1、time函数 。
形式为time_t time (time_t *__timer);
其中time_t为time.h定义time函数实现c语言的结构体,一般为长整型 。
这个函数会获取当前时间,并返回 。如果参数__timer非空 , 会存储相同值到__timer指向的内存中 。
【关于time函数实现c语言的信息】time函数返回的为unix时间戳 , 即从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒 。
由于是秒作为单位的,所以这并不是习惯上的时间,要转为习惯上的年月日时间形式就需要另外一个函数了 。
2、localtime函数 。
形式为struct tm *localtime (const time_t *__timer)time函数实现c语言;
其中tm为一个结构体,包含了年月日时分秒等信息 。
这种结构是适合用来输出的 。
二、参考代码:
#include stdio.h
#include time.h
int main ()
{
time_t t;
struct tm * lt;
time (t);//获取Unix时间戳 。
lt = localtime (t);//转为时间结构 。
printf ( "%d/%d/%d %d:%d:%d\n",lt-tm_year+1900, lt-tm_mon, lt-tm_mday, lt-tm_hour, lt-tm_min, lt-tm_sec);//输出结果
return 0;
}
注意事项:
struct tm中的tm_year 值为实际年减去1900 ,  所以输出的时候要是lt-tm_year+1900 。
C语言 time()1 是把一个正整数放进t所在的地址里,这个正整数是1970年1月1日00:00:00(UTC)开始,到目前为止经过的秒数 。
2 因为time以两种方式返回结果 。一种是你第一道题的 , 给他一个地址 , 他把结果写进那个地址 。第二种直接返回一个time_t 。你可以用这种方法接:time_t t = time(NULL) 。这里给他一个空指针就是告诉他不需要以第一种方法返回结果 , 所以当然他也不会把结果写进空指针,他只是不管这个参数而已 。当然只要你乐意你也可以两种一起用 。
c语言中time函数怎么用?头文件time.h \x0d\x0a\x0d\x0a@函数名称:localtime \x0d\x0a函数原型:struct tm *localtime(const time_t *timer) \x0d\x0a函数功能:返回一个以tm结构表达的机器时间信息 \x0d\x0a函数返回:以tm结构表达的时间,结构tm定义如下: \x0d\x0astructtm{ \x0d\x0aint tm_sec; \x0d\x0aint tm_min; \x0d\x0aint tm_hour; \x0d\x0aint tm_mday; \x0d\x0aint tm_mon; \x0d\x0aint tm_year; \x0d\x0aint tm_wday; \x0d\x0aint tm_yday; \x0d\x0aint tm_isdst; \x0d\x0a}; \x0d\x0a参数说明:timer-使用time()函数获得的机器时间 \x0d\x0a\x0d\x0a#include\x0d\x0a#include\x0d\x0a#include\x0d\x0aint main() \x0d\x0a{ \x0d\x0atime_t timer; \x0d\x0astruct tm *tblock; \x0d\x0atimer=time(NULL); \x0d\x0atblock=localtime(timer); \x0d\x0aprintf("Local time is: %s",asctime(tblock)); \x0d\x0areturn 0; \x0d\x0a} \x0d\x0a\x0d\x0a@函数名称:asctime \x0d\x0a函数原型:char* asctime(struct tm * ptr) \x0d\x0a函数功能:得到机器时间(日期时间转换为ASCII码) \x0d\x0a函数返回:返回的时间字符串格式为:星期,月,日,小时:分:秒,年 \x0d\x0a参数说明:结构指针ptr应通过函数localtime()和gmtime()得到 \x0d\x0a所属文件:\x0d\x0a\x0d\x0a#include\x0d\x0a#include\x0d\x0a#include\x0d\x0aint main() \x0d\x0a{ \x0d\x0astruct tm t; \x0d\x0achar str[80]; \x0d\x0at.tm_sec=1; \x0d\x0at.tm_min=3; \x0d\x0at.tm_hour=7; \x0d\x0at.tm_mday=22; \x0d\x0at.tm_mon=11; \x0d\x0at.tm_year=56; \x0d\x0at.tm_wday=4; \x0d\x0at.tm_yday=0; \x0d\x0at.tm_isdst=0; \x0d\x0astrcpy(str,asctime(t)); \x0d\x0aprintf("%s",str); \x0d\x0areturn 0; \x0d\x0a} \x0d\x0a\x0d\x0a@函数名称:ctime \x0d\x0a函数原型:char *ctime(long time) \x0d\x0a函数功能:得到日历时间 \x0d\x0a函数返回:返回字符串格式:星期,月,日,小时:分:秒,年 \x0d\x0a参数说明:time-该参数应由函数time获得 \x0d\x0a所属文件:\x0d\x0a\x0d\x0a#include\x0d\x0a#include\x0d\x0aint main() \x0d\x0a{ \x0d\x0atime_t t; \x0d\x0atime(t); \x0d\x0aprintf("Today's date and time: %s",ctime(t)); \x0d\x0areturn 0; \x0d\x0a} \x0d\x0a\x0d\x0a@函数名称:difftime \x0d\x0a函数原型:double difftime(time_t time2, time_t time1) \x0d\x0a函数功能:得到两次机器时间差,单位为秒 \x0d\x0a函数返回:时间差,单位为秒 \x0d\x0a参数说明:time1-机器时间一,time2-机器时间二.该参数应使用time函数获得 \x0d\x0a所属文件:\x0d\x0a\x0d\x0a#include\x0d\x0a#include\x0d\x0a#include\x0d\x0a#include\x0d\x0aint main() \x0d\x0a{ \x0d\x0atime_t first, second; \x0d\x0aclrscr(); \x0d\x0afirst=time(NULL); \x0d\x0adelay(2000); \x0d\x0asecond=time(NULL); \x0d\x0aprintf("The difference is: %f seconds",difftime(second,first)); \x0d\x0agetch(); \x0d\x0areturn 0; \x0d\x0a} \x0d\x0a\x0d\x0a@函数名称:gmtime \x0d\x0a函数原型:struct tm *gmtime(time_t*time) \x0d\x0a函数功能:得到以结构tm表示的时间信息 \x0d\x0a函数返回:以结构tm表示的时间信息指针 \x0d\x0a参数说明:time-用函数time()得到的时间信息 \x0d\x0a所属文件:\x0d\x0a\x0d\x0a#include\x0d\x0a#include\x0d\x0a#include\x0d\x0a#include\x0d\x0achar *tzstr="TZ=PST8PDT"; \x0d\x0aint main() \x0d\x0a{ \x0d\x0atime_t t; \x0d\x0astruct tm *gmt, *area; \x0d\x0aputenv(tzstr); \x0d\x0atzset(); \x0d\x0at=time(NULL); \x0d\x0aarea=localtime(t); \x0d\x0aprintf("Local time is:%s", asctime(area)); \x0d\x0agmt=gmtime(t); \x0d\x0aprintf("GMT is:%s", asctime(gmt)); \x0d\x0areturn 0; \x0d\x0a} \x0d\x0a\x0d\x0a@函数名称:time \x0d\x0a函数原型:time_t time(time_t *timer) \x0d\x0a函数功能:得到机器的日历时间或者设置日历时间 \x0d\x0a函数返回:机器日历时间 \x0d\x0a参数说明:timer=NULL时得到机器日历时间,timer=时间数值时,用于设置日历时间,time_t是一个long类型 \x0d\x0a所属文件:\x0d\x0a\x0d\x0a#include\x0d\x0a#include\x0d\x0a#include\x0d\x0aint main() \x0d\x0a{ \x0d\x0atime_t t; \x0d\x0at=time(); \x0d\x0aprintf("The number of seconds since January 1,1970 is %ld",t); \x0d\x0areturn 0; \x0d\x0a} \x0d\x0a\x0d\x0a@函数名称:tzset \x0d\x0a函数原型:void tzset(void) \x0d\x0a函数功能:UNIX兼容函数,用于得到时区,在DOS环境下无用途 \x0d\x0a函数返回: \x0d\x0a参数说明: \x0d\x0a所属文件:\x0d\x0a\x0d\x0a#include\x0d\x0a#include\x0d\x0a#include\x0d\x0aint main() \x0d\x0a{ \x0d\x0atime_t td; \x0d\x0aputenv("TZ=PST8PDT"); \x0d\x0atzset(); \x0d\x0atime(td); \x0d\x0aprintf("Current time=%s",asctime(localtime(td))); \x0d\x0areturn 0; \x0d\x0a}

推荐阅读