【发布时间】:2017-05-08 02:32:50
【问题描述】:
我试图在 C/Linux 中获取文件的最后修改时间,但时间总是出错。
struct stat attrib;
stat("/etc/example/file.txt", &attrib);
char time[50];
strftime(time, 50, '%Y-%m-%d %H:%M:%S", localtime(&attrib.st_mtime));
打印时间给我“2024-05-01 15:35:21”。年份和日期显然是错误的。我尝试了不同的选项,例如 gmtime 而不是 localtime,但它不会产生正确的输出。使用“ls -l”显示正确的月、日和年...所以我不确定我做错了什么。
【问题讨论】:
-
'%Y-%m-%d %H:%M:%S"改为"%Y-%m-%d %H:%M:%S" -
您是否检查过
stat()调用是否有效。如果不是,您正在使用随机数据。