首页 > 代码库 > C/C++时间函数总结

C/C++时间函数总结

 

 

C语言的时间函数


-------- 头文件
time.h
-------- 相关函数和接口
asctime() 将时间日期以字符串格式表示
ctime() 将时间日期以字符串格式表示
gettimeofday() 获取当前时间
gmtime() 获取当前时间和日期
localtime() 获取当前时间和日期并转换为本地时间
mktime() 将时间转换成经过的秒数
settimeofday() 设置当前时间戳
time() 获取当前时间(以秒数表示)

struct tm*gmtime(const time_t*timep);
int gettimeofday ( struct timeval * tv , struct timezone * tz )
char *ctime(const time_t *timep);
struct tm *localtime(const time_t * timep);
time_t mktime(strcut tm * timeptr);
int settimeofday ( const struct timeval *tv,const struct timezone *tz);

time_t 是一个长整型数
tm 结构体类型
timeval 包含秒和微秒的结构体

-------- 例子

#include <time.h>main() {time_t timep;time (&timep);printf("%s",asctime(gmtime(&timep)));}

 


C++ 语言的时间函数


标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。

 

Windows 平台的时间函数

-------- 头文件
<windows.h>
-------- 相关函数和接口
GetSystemTime 获得UTC(等于GMT)时间

GetLocalTime 获得系统本地时间

-------- 例子

#include <windows.h>#include <stdio.h>void main(){SYSTEMTIME st, lt;GetSystemTime(&st);GetLocalTime(&lt);printf("The system time is: %02d:%02d\n", st.wHour, st.wMinute);printf("The local time is: %02d:%02d\n", lt.wHour, lt.wMinute);}

 

 

Linux 平台的时间函数

 

-------- 头文件
<sys/time.h>

-------- 相关函数和接口
int gettimeofday(struct timeval *restrict tp, void *restrict tzp);

-------- 例子

#include <stdio.h>#include <sys/time.h>int main() {struct timeval start, end;gettimeofday( &start, NULL );sleep(3);gettimeofday( &end, NULL );//求出两次时间的差值,单位为us int timeuse = 1000000 * ( end.tv_sec - start.tv_sec ) + end.tv_usec - start.tv_usec;printf("time: %d us\n", timeuse);return 0;}

 

C/C++时间函数总结