问题描述:
前段时间,看到一个需求,说如何用C语言显示出当前时刻的具体时间(精确到毫秒),而且是动态显示。
解决思路如下:
解决此问题需要用到一个库函数#include <windows.h> ,初学C语言的小伙伴们可能对这个库不太熟悉,建议下来看一下官方文档,这个库我们在后期用的比较多,尤其是做开发这一块。如果是只显示当前时刻的时分秒会比较容易,直接取当前系统时间进行打印输出就好了,但是如果是动态显示每个时刻的时分秒,就稍微有一点点棘手。我们只需要做加一个死循环,然后让循环每次中断1ms,然后清空当前控制台,继续执行下一次循环即可。
代码展示:
#include <stdio.h>
#include <windows.h>
int main( void )
{
SYSTEMTIME sys;
while(1){
printf("当前时刻为:\n");
//获取系统时间
GetLocalTime( &sys );
//按照年/月/日 时/分/秒.毫秒 星期几格式打印
printf( "%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\n",
sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute,
sys.wSecond,sys.wMilliseconds,sys.wDayOfWeek);
Sleep(1);
//清屏命令
system("cls");
}
return 0;
}
运行输出:
备注:
如果需要不同的输出格式,只需要修改打印语句即可!