0

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

4

3 回答 3

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;
}
于 2012-04-10T13:51:18.163 回答
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 中工作的经验.. 尝试找到类似的电话..

于 2012-04-10T13:33:19.323 回答
1

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

GetSystemTimeAsFileTime( pointerToSetToTime );

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

于 2012-04-10T13:46:21.323 回答