C语言 当日或月小于10时,如何以dd-mm-yyyy格式显示日期,并在前面加上零?

qq24tv8q  于 2023-01-04  发布在  其他
关注(0)|答案(1)|浏览(131)

我正在尝试将当前日期保存在具有以下格式的变量中:0301(日和月)。我正在使用时间函数,唯一遇到的问题是我似乎找不到一种方法来打印日期与前导零。例如,我只能打印31而不是0301。有什么办法可以解决它?
我使用itoa()函数将日期和月份的整数转换成两个独立的字符串,然后尝试分别编辑字符串字符,但我无法做到这一点。

4c8rllxm

4c8rllxm1#

只需使用localtime和strftime函数的组合(来自time. h)

#include <stdio.h>
#include <time.h>

int main()
{
  time_t rawtime;
  struct tm *info;
  char buffer [1024];

  time (&rawtime);
  info = localtime (&rawtime);
  strftime (buffer, sizeof (buffer), "%d%m", info);
  printf ("time: %s\n", buffer);
return 0;
}

以下是我使用的资料来源:

这是更好的来源(感谢@phuclv指出):

相关问题