(C Linux)strftime返回损坏的日期时间

时间:2017-05-08 19:35:41

标签: c linux time

我正在使用以下代码:

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))

0 个答案:

没有答案