Linux C常用时间函数

Linux C常用时间函数

1

time_t time(time_t *t);

返回从1970.1.1  000UTC时间格林威治时间的时间差秒数。

#include<stdio.h>

#include<time.h>

Int main(){

             Time_t s;

              S=time((time_t*)NULL);//NULL表示当前时间

              Printf(“now :%ld”,s);

}

Int main(){

             Time_t *s;

              time(s);

              Printf(“now :%ld”,*s);

}

 

2

Struct tm *gmtime(time_t *timep)

将秒数转换为当前可以理解的时间

struct tm { //已经在头文件定义
                int tm_sec;        
                int tm_min;        
                int tm_hour;        
                int tm_mday;        
                int tm_mon;        
                int tm_year;        
                int tm_wday;        
                int tm_yday;        
                int tm_isdst;    
                } ;

Int main(){

             Time_t s;

              Struct tm *p;

              time(*s);

              p=gmtime(*s);

              Printf(“year  :%d”,1900+p->tm_year);

Printf(“Month  :%d”,1+p->tm_mon);

Printf(“day :%d”,1+p->tm_mday);

              ….

}

 

3

char *ctime(time_t *timep)

返回一个时间字符串

4

char *asctime(struct tm *timeptr)

tm格式的时间转为字符串

5

Struct tm *locatime(time_t *timep)

功能与gmtime类似,但返回当地当前时间

6

time_t mktime(tm *timeptr)

tm结构数据转换为秒数

7

int gettimeofday(struct timeval *tv,struct timezone *tz)

struct timeval{

              long tv_sec;//当前时间的秒数

              long tv_usec;//当前时间的微秒数

}

Struct timezone{

              Int tz_minuteswest;//UTC时间相差的分钟

              Int tz_dsttime;//夏令时间相差的分钟

}

此函数只能处理秒级的时间,需要跟上面的时间函数配合使用。

你可能感兴趣的:(数据结构,C++,c,linux,C#)