C时间函数

9 浏览
0 Comments

C时间函数

我想要打印日期应用函数。\n例如,我期望的结果是:19:04\n但实际结果是:19:4\n如何修改这个函数,使其始终返回2位数?谢谢!\n

void dateApp(){
    char line[500] = "\xb3";
    time_t currentTime;
    time(¤tTime);
    struct tm *myTime = localtime(¤tTime);
    printf("日期:%02i/%02i/%i       \xb3 时间:%02i:%02i %44s", myTime ->tm_mday, myTime->tm_mon + 1, myTime->tm_year + 1900, myTime->tm_hour, myTime->tm_min, line );
}

0
0 Comments

(C Time Function)问题的出现原因是在代码中使用了printf函数来格式化时间输出,但没有指定时间格式的宽度和左侧填充零的标志。这导致时间的输出长度不固定,可能会只有一位数字。为了解决这个问题,需要在%i字段上添加2的宽度,并使用0标志告诉函数在左侧填充零。

解决方法如下:

printf("Date : %02i/%02i/%i \xb3 Time : %i:%02i %44s", ...)

0