我正在使用以下代码:
char dateModified[101];
setlocale(LC_TIME, "en_US.UTF-8");
//Get address for the file's modified time:
struct timespec *timeP = &(filesList[i].mtime);
//Translate the time to text
strftime(dateModified, 100, "%b %e %Y %R", timeP);
//Print time since 1970, address of the struct and formatted time
printf("%d %d \'%s\'\n", timeP->tv_sec, timeP, dateModified);
格式化并打印多个文件的上次修改时间。但是,即使时间戳正确,格式化的时间也始终不正确。 可能是什么问题呢? 某些文件的输出:
TIMESTAMP ADDRESS FORMATTED TIME
1494268890 15343728 '? 0 1852401361 74573639:00'
1494268890 15344048 '? 0 1701605586 74573639:00'
1494268890 15344368 '? 0 1885498010 74573639:00'
1494268889 15344688 '? 0 1900 130561033:00'
(所有时间戳都指向2017年5月8日,下午6:41(UTC))