猿问

怎么做能得到当前的时间的毫秒级的最后9位数?

我用
SYSTEMTIME st;
GetSystemTime(&st);
得到当前时间后,怎样得到它的毫秒级的后9位...用什么函数...
且这9位必须是long类型的...
新手求救..

摇曳的蔷薇
浏览 157回答 2
2回答

慕桂英4014372

/使用标准C语言的time函数,可以满足一般性需要#include#includeint 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#includeint 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&nbsp;QueryPerformanceFrequency与QueryPerformanceCounter,可以更精确精确的计算,例如拿来测试,网络抓包的精确分析#include#include#includeusing namespace std;int main() {LARGE_INTEGER lv,lv_b;// 获取每秒多少CPUPerformance TickQueryPerformanceFrequency( &lv );//转换为每个Tick多少秒doublesecondsPerTick = 1.0 / lv.QuadPart;QueryPerformanceCounter( &lv_b );for ( size_ti = 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 ) ;}return0;}&nbsp;

喵喔喔

GetTickCount()这个能到毫秒级,不过他不是系统的时间。
随时随地看视频慕课网APP
我要回答