如何在C中打印毫秒?

时间:2012-04-10 13:29:14

标签: c visual-studio-2008

我想以hh:mm:ss:ms(毫秒)的格式打印时间。我可以用hh:mm:ss的形式打印。什么是打印剩余毫秒的方法?

3 个答案:

答案 0 :(得分: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 :(得分: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;

我没有在Windows工作的经验..尝试找到类似的电话..

答案 2 :(得分:1)

如果您正在使用MSDN库,可以尝试

GetSystemTimeAsFileTime( pointerToSetToTime );

它以100纳秒的间隔设置当前系统时间的指针参数。