如何更改 ls -l 自定义命令的月份格式

How to change month format for ls -l custom command

当您执行此命令时:

find ok/ -exec ls -l -d {} \;

终端显示:

drwxrwxrwx 2 alexia alexia 4096 8 oct.  15 22:31 ok/

我尝试创建自己的查找命令来使用 stat.h 执行相同的操作:

[...] //Other file information
struct stat fileStat;
stat(path,&fileStat)
char buffer[20];
struct tm *time
time = localtime(&(fileStat.st_mtime));
strftime(buffer, 20, "%b %e  %Y", time);
printf("%s", buffer);

并显示:

[...]
8 Oct  15 22:31 ok/

月份格式不好,不知道怎么弄好。

干杯

默认情况下,C 程序 运行 使用 C 语言环境。看起来好像您想要不同的语言环境,因此请将 setlocale() 函数与另一个语言环境一起使用。最简单的是由空字符串指定的。 (locale 的值 "C" 指定 C 翻译的最小环境;locale 的值 "" 指定特定于语言环境的本机环境。其他实现定义的字符串可以作为第二个传递setlocale 的参数。):

setlocale(LC_TIME, “”);

这只影响时间;你可以使用 LC_ALL 来改变一切。