亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C/C++標準庫之轉換UTC時間到local本地時間詳解

2020-05-23 13:37:18
字體:
來源:轉載
供稿:網友

前言

UTC 時間DateTime.UtcNow 和 系統本地時間 DateTime.Now 相差8個時區 ,美國本地時間和北京時間相差15個時區: 美國,而一般使用UTC時間方便統一各地區時間差異。

場景

      1.如果有面向全球用戶的網站, 一般在存儲時間數據時存儲的是UTC格式的時間, 這樣時間是統一的, 并可以根據當地時區來進行準確的轉換.

      2.存儲本地時間的問題就在于如果換了時區, 那么顯示的時間并不正確. 所以我們存儲時間時最好還是存儲UTC時間,便于正確的轉換.

說明

1.C/C++標準庫提供了標準函數可以轉換, 不需要借助Win32 API.

例子

// test_datetime_format.cpp : 定義控制臺應用程序的入口點。//#include "stdafx.h"#include <time.h>#include <sstream>#include <iostream>#include <assert.h>//2014-09-13T10:52:36Z//2014-09-13 10:52:36char* ConvertUtcToLocalTime(struct tm* t2,const char* date){ struct tm t; memset(&t,0,sizeof(t)); t.tm_year = atoi(date)-1900; t.tm_mon = atoi(date+5)-1; t.tm_mday = atoi(date+8); t.tm_hour = atoi(date+11); t.tm_min = atoi(date+14); t.tm_sec = atoi(date+17); time_t tt = _mkgmtime64(&t); if(tt != -1){ if(t2 == NULL){  t2 = &t;  } *t2 = *localtime(&tt); char* ds = (char*) malloc(24); memset(ds, 0, 24); sprintf(ds, "%.4d-%.2d-%.2d %.2d:%.2d:%.2d", t2->tm_year + 1900,  t2->tm_mon + 1, t2->tm_mday, t2->tm_hour, t2->tm_min,  t2->tm_sec); return ds; } return NULL;}//https://www.w3.org/TR/NOTE-datetime//https://msdn.microsoft.com/en-us/library/2093ets1.aspx//2014-09-13T10:52:36Zint _tmain(int argc, _TCHAR* argv[]){ const char* kTime = "2014-09-13 18:52:36"; std::cout << "Source DateTime: " << "2014-09-13T10:52:36Z" << std::endl; auto t = ConvertUtcToLocalTime(NULL,"2014-09-13T10:52:36Z"); std::cout << "Dest DateTime: " << t << std::endl; assert(!strcmp(t,kTime)); t = ConvertUtcToLocalTime(NULL,"2014-09-13 10:52:36"); std::cout << t << std::endl; assert(!strcmp(t,kTime)); struct tm tt; t = ConvertUtcToLocalTime(&tt,"2014-09-13 10:52:36"); std::cout << t << std::endl; assert(!strcmp(t,kTime)); assert(tt.tm_year == (2014-1900)); assert(tt.tm_mon == 9-1); assert(tt.tm_mday == 13); assert(tt.tm_hour == 18); assert(tt.tm_min == 52); assert(tt.tm_sec == 36); return 0;}}

輸出

Source DateTime: 2014-09-13T10:52:36ZDest DateTime: 2014-09-13 18:52:362014-09-13 18:52:362014-09-13 18:52:36

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;};#endifstatic int gettimeofday(struct timeval* tv){ union {    long long ns100;    FILETIME ft; } now; GetSystemTimeAsFileTime (&now.ft); tv->tv_usec = (long) ((now.ns100 / 10LL) % 1000000LL); tv->tv_sec = (long) ((now.ns100 - 116444736000000000LL) / 10000000LL); return (0);}//獲取1970年至今UTC的微妙數static time_t TimeConversion::GetUtcCaressing(){ timeval tv; gettimeofday(&tv);  return ((time_t)tv.tv_sec*(time_t)1000000+tv.tv_usec);}#endif

接下來給出使用方法:

timeval tv;gettimeofday(&tv); 

或者直接調用:GetUtcCaressing();

UTC時間秒級UTC獲取方法代碼:

time_t timep;struct tm *p;time(&timep);p=localtime(&timep);timep = mktime(p);printf("%d/n",timep); 

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。

參考


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产成人在线视频| 国产成人免费91av在线| 一区二区在线免费视频| 精品久久久久久亚洲国产300| 久久久在线视频| 成人欧美一区二区三区在线湿哒哒| 日韩综合视频在线观看| 国产精品视频1区| 成人精品一区二区三区电影黑人| 国产区亚洲区欧美区| 亚洲白拍色综合图区| 国产精品嫩草影院一区二区| 日韩在线视频免费观看| 欧美中文字幕第一页| 久久手机精品视频| 久色乳综合思思在线视频| 青草青草久热精品视频在线网站| 亚洲最新中文字幕| 日韩在线免费高清视频| 91精品国产91久久久久久不卡| 91精品国产99久久久久久| 激情懂色av一区av二区av| 热99在线视频| 91系列在线观看| 欧美大尺度电影在线观看| 精品美女久久久久久免费| www.久久色.com| 亚洲精品www久久久| 成人久久18免费网站图片| 久久精品视频在线| 粉嫩av一区二区三区免费野| 国产精品wwww| 亚洲精品99久久久久中文字幕| 这里只有精品视频| 久久夜色撩人精品| 91av在线影院| 欧美亚洲另类制服自拍| 欧美成人国产va精品日本一级| 国产v综合ⅴ日韩v欧美大片| 欧美亚洲伦理www| 亚洲成色www8888| 国产成人精品综合久久久| 国产精品免费久久久| 国产一区二中文字幕在线看| 亚洲欧美精品中文字幕在线| 欧美日韩成人精品| 亚洲成人久久电影| 亚洲日本成人女熟在线观看| 尤物yw午夜国产精品视频明星| 伊人久久男人天堂| 国产不卡一区二区在线播放| 国产日韩欧美在线视频观看| 亚洲高清福利视频| 中文字幕欧美亚洲| 尤物九九久久国产精品的分类| 日韩成人小视频| 亚洲欧美第一页| 国产精品白嫩初高中害羞小美女| 色综合91久久精品中文字幕| 日本伊人精品一区二区三区介绍| 欧美午夜精品久久久久久久| 成人在线中文字幕| 97色伦亚洲国产| 国产一区二区丝袜高跟鞋图片| 久久综合伊人77777尤物| 欧美电影在线观看| 国产精品一区二区女厕厕| 欧美激情视频网址| 中文字幕亚洲专区| 午夜精品免费视频| 国产综合视频在线观看| 久久久亚洲国产天美传媒修理工| 欧美激情一区二区三区成人| 国产精品视频资源| 日韩理论片久久| 久久影院资源站| 亚洲成人xxx| 国产精品嫩草影院一区二区| 欧美性xxxxx| 日韩中文在线观看| 久久精品国产成人精品| 日韩中文字幕av| 川上优av一区二区线观看| 国产日本欧美在线观看| 国产欧美日韩免费| 欧美一级淫片播放口| 日韩在线观看网址| 蜜臀久久99精品久久久久久宅男| 日本三级韩国三级久久| 日韩电影视频免费| 亚洲国产欧美一区| 亚洲成人精品视频在线观看| 欧美人在线观看| 欧美裸身视频免费观看| 欧美成aaa人片免费看| 亚洲午夜久久久影院| 欧美性xxxx极品hd满灌| 日韩国产激情在线| 97成人精品区在线播放| www亚洲欧美| 美女av一区二区| 亚洲美女精品久久| 国产一区二区欧美日韩| 韩国精品美女www爽爽爽视频| 国产精品高潮呻吟视频| 97碰碰碰免费色视频| 91影院在线免费观看视频| 久久精品久久精品亚洲人| 91精品国产高清久久久久久91| 欧美另类老女人| 国产精品久久久久不卡| 国产欧美日韩综合精品| 成人精品福利视频| 国产精品美女主播在线观看纯欲| 色悠悠久久久久| 亚洲欧美999| 国产日韩精品电影| 亚洲欧美在线免费| 亚洲欧美日韩网| 亚洲а∨天堂久久精品喷水| 中文字幕欧美日韩va免费视频| 欧美日韩福利在线观看| 91成人在线播放| 日日噜噜噜夜夜爽亚洲精品| 美女精品久久久| 色妞久久福利网| 国产亚洲精品久久久久久777| 9.1国产丝袜在线观看| 欧美黑人巨大精品一区二区| 欧美日韩国内自拍| 8x拔播拔播x8国产精品| 久热精品视频在线| 国产精品久久一区主播| 日韩欧美a级成人黄色| 欧美在线视频一区二区| 久久五月天综合| 91高清免费视频| 久久人91精品久久久久久不卡| 欧美在线性爱视频| 亚洲激情国产精品| 久久影院资源网| 日韩电影大全免费观看2023年上| 中文字幕精品久久久久| 国产精品日韩欧美| 狠狠色狠狠色综合日日小说| 亚洲一区美女视频在线观看免费| 日韩网站免费观看高清| 裸体女人亚洲精品一区| 91美女片黄在线观看游戏| 欧美亚洲视频在线看网址| 欧美多人乱p欧美4p久久| 欧美体内谢she精2性欧美| 日韩动漫免费观看电视剧高清| 美女久久久久久久久久久| 欧美高清在线观看| 日韩三级影视基地| 成人中文字幕在线观看| 91精品国产高清| 成人激情视频网| 亚洲美女在线看| 亚洲色图18p| 久久精品视频在线观看| 秋霞av国产精品一区| 97人人模人人爽人人喊中文字|