2012-04-10 139 views
0

我想打印hh:mm:ss:ms(毫秒)格式的時間。我可以以hh:mm:ss的形式打印。什麼可以打印剩餘的毫秒?如何在C中打印毫秒?

+1

man printf是你的朋友 – njzk2 2012-04-10 13:32:28

回答

3
#include<sys/timeb.h> 
#include<time.h> 

int main(void) { 
    struct timeb tp; 
    ftime(&tp); 
    char timeString[80]; 
    strftime(timeString, sizeof(timeString), "%H:%M:%S", localtime(&tp.time)); 
    printf("%s:%d", timeString, tp.millitm); 
    return 0; 
} 
1

這是我在Linux中使用...

struct timeval tv; 
gettimeofday(&tv,0); 
time_t long_time; 
struct tm *newtime; 
time(&long_time); 
newtime = localtime(&long_time); 
char result[100] = {0}; 
sprintf(result, "%02d:%02d:%02d.%03ld", newtime->tm_hour,newtime->tm_min,newtime->tm_sec, (long)tv.tv_usec/1000); 
return result; 

我沒有經驗的窗口工作..嘗試找到類似的電話..

+0

這是沒有用的,因爲他特別說Windows,所以downvote。 – 2012-04-10 13:34:28

+0

@ScottM。 time.h也在Windows中。看到[這](http://suacommunity.com/dictionary/gettimeofday-entry.php#id385598) – 2012-04-10 13:46:15

+0

我只是把它..因爲這是POSIX標準... – 2012-04-10 13:48:21

1

如果你使用MSDN庫工作,你可以嘗試

GetSystemTimeAsFileTime(pointerToSetToTime); 

它以100納秒的間隔爲當前系統時間設置一個指針參數。