时间通过一个约定的类型time_t处理,这是一个大到可以容纳以秒计算日期和时间的整数类型。在linux系统中,它是一个长整形,即使是32位长整型,也可以用到2038年。到那时我们希望使用64位的系统解决这个问题。
不知道你到底要问什么问题,是比较两个文件最后修改时间,还是计算一个文件最后修改时间到“现在”的秒数。下面给出比较两个文件时间的代码:
#include
#include
#include
intmain(int argc,char *argv[])
{
if(argc!=3)
{
fprintf(stderr,"usage: %s \n",argv[0]);
exit(1);
}
structstatbuf1;
structstatbuf2;
if(lstat(argv[1],&buf1)<0 || lstat(argv[2],&buf2)<0)
{
perror("lstat error");
exit(2);
}
/* print time */
printf("%s: %ld%s: %ld\n",argv[1],buf1.st_mtime,argv[2],buf2.st_mtime);
/* print time difference */
printf("%ld\n",buf1.st_mtime-buf2.st_mtime);
return0;
}
取消
评论