900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > C++中获取UTC时间精确到微秒的实现代码

C++中获取UTC时间精确到微秒的实现代码

时间:2018-08-22 13:32:34

相关推荐

C++中获取UTC时间精确到微秒的实现代码

下面请跟着小编一起来了解下C++中获取UTC时间精确到微秒的实现代码,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

在日常开发过程中经常会使用到时间类函数的统计,其中获取1970年至今的UTC时间是比较常使用的,但是在windows下没有直接能够精确到微妙级的函数可用。本文提供方法正好可以解决这类需求问题。

下面先给出C++实现代码:

代码如下:

#ifndef UTC_TIME_STAMP_H_

#define UTC_TIME_STAMP_H_

#include windows.h

#include sys/timeb.h

#include time.h

#if !defined(_WINSOCK2API_) && !defined(_WINSOCKAPI_)

struct timeval

{

long tv_sec;

long tv_usec;

};

#endif

static int gettimeofday(struct timeval* tv)

{

union {

long long ns100;

FILETIME ft;

} now;

GetSystemTimeAsFileTime (&now.ft);

tv-tv_usec = (long) (( / 10LL) % 1000000LL);

tv-tv_sec = (long) (( - 116444736000000000LL) / 10000000LL);

return (0);

}

//获取1970年至今UTC的微妙数

static time_t TimeConversion::GetUtcCaressing()

{

timeval tv;

gettimeofday(&tv);

return ((time_t)*()+);

}

#endif

接下来给出使用方法:

timeval tv;

gettimeofday(&tv);

或者直接调用:GetUtcCaressing();

最后说明:本文代码在vs与VS下都进行了测试,可放心使用

附录:本文同时给出UTC时间秒级UTC获取方法代码:

代码如下:

time_t timep;

struct tm *p;

time(&timep);

p=localtime(&timep);

timep = mktime(p);

printf("%dn",timep);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。