亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么做能得到當前的時間的毫秒級的最后9位數?

怎么做能得到當前的時間的毫秒級的最后9位數?

C++
搖曳的薔薇 2023-03-03 18:14:44
我用SYSTEMTIME st;GetSystemTime(&st);得到當前時間后,怎樣得到它的毫秒級的后9位...用什么函數...且這9位必須是long類型的...新手求救..
查看完整描述

2 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

/使用標準C語言的time函數,可以滿足一般性需要
#include

#include

int main( void )

{

time_t t = time( 0 );

char tmp[64];

strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z",

localtime(&t) );

puts( tmp );

return 0;

}

//GetLocalTime獲取當前系統時間,精確到微妙級

#include

#include

int main( void )

{

SYSTEMTIME sys;

GetLocalTime( &sys );

printf( "M/d/d d:d:d.d 星期\n"

,sys.wYear,sys.wMonth,sys.wDay

,sys.wHour,sys.wMinute,sys.wSecond,sys.wMilliseconds

,sys.wDayOfWeek);

return 0;
}

//利用win32 API 
QueryPerformanceFrequency與QueryPerformanceCounter,可以更精確精確的計算,例如拿來測試,網絡抓包的精確分析

#include

#include
#include
using namespace std;
int main() {

LARGE_INTEGER lv,lv_b;

// 獲取每秒多少CPU
Performance Tick

QueryPerformanceFrequency( &lv );

//
轉換為每個Tick多少秒
double
secondsPerTick = 1.0 / lv.QuadPart;

QueryPerformanceCounter( &lv_b );
for ( size_t
i = 0; i < 100; ++i ) {

// 獲取CPU運行到現在的Tick數

QueryPerformanceCounter( &lv );

cout.precision( 6 );

// 計算CPU運行到現在的時間

// 比GetTickCount和timeGetTime更加精確

LONGLONG duration = lv.QuadPart-lv_b.QuadPart;

double timeElapsedTotal = secondsPerTick * duration;

cout << fixed
<< showpoint
<< timeElapsedTotal
<< endl;

//printf( "%lf \n", timeElapsedTotal ) ;
}
return
0;
}

 


查看完整回答
反對 回復 2023-03-06
?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

GetTickCount()這個能到毫秒級,不過他不是系統的時間。

查看完整回答
反對 回復 2023-03-06
  • 2 回答
  • 0 關注
  • 141 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號