C/C++时间函数总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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++时间函数总结的主要内容,如果未能解决你的问题,请参考以下文章

[linux][c/c++]代码片段02

c/c++C语言笔试题总结2

C/C++时间函数总结

c/c++中时间函数和随机函数的总结

C/C++编程笔记:C++中的函数重载和浮动

c/c++ -->自我编程风格总结