If you are programming for windows you can use the GetFileTime( ) API to retrieve the Created/LastAccessed/and Last Modified times. These are output in the FILETIME structure, so you will have to use the FileTimeToSystemTime() in order to change the FILETIME structure to a SYSTEMTIME structure.
After that , you can get the current systemtime using the GetSystemTime() and compare this with the times you got for the file.
Have you been able to get the dates and times? The thing is that SYSTEMDATE is not in the usual "yy mm dd" format. To display this in the way we all understand, you will have to use GetDateFormat and GetTime Format functions. Better is you give us the code up to where you have got the file times and system times. Then it is easier to narrow out the problem.
look at this code..its working, but not displyg the time properly.
im getg the output like..
last modified date and time = 15-06-05 00:00:00
but im get the current time and date correctly.
currrent time =3:11:44
current date =16/05/05
the next thing what im trying is, to compare both the last modified time and date to the current date and time. can u explain me how to do that...
my code is:
char filename = "c:test.txt";
if (!stat(filename, &buf))
struct tm* atime = localtime(&buf.st_atime);
strftime(timeStr, 100, "%d-%m-%Y %H:%M:%S", atime);
printf("nLast modified date and time = %sn", timeStr);
printf("error getting atimen");
printf("nThe Current time is %sn",time);
printf("nThe Current Date is %sn",date);
char filename = "c:\\test.txt";
char timeStr[ 100 ] = "";
struct stat buf;
char datebuf ;
char timebuf ;
if (!stat(filename, &buf))
strftime(timeStr, 100, "%d-%m-%Y %H:%M:%S", localtime( &buf.st_mtime));
printf("\nLast modified date and time = %s\n", timeStr);
printf("error getting atime\n");
printf("\nThe Current time is %s\n",timebuf);
printf("\nThe Current Date is %s\n",datebuf);
time( <ime );
printf("\nThe Current time is %s\n",ctime( <ime ));
printf("\Diff between current and last modified time ( in seconds ) %f\n", difftime(ltime ,buf.st_mtime ) );
My Output was
Last modified date and time = 06-04-2005 17:24:12
The Current time is 10:25:53
The Current Date is 06/17/05
The Current time is Fri Jun 17 10:25:53 2005
Diff between current and last modified time ( in seconds ) 6195701.000000
Use buf.st_atime instead of buf.st_mtime. That is the last accessed time. But keep in mind that since you are accessing that file in your program, the result will be the time you run the program. Even if you right click the file in Windows ( at least in my Windows 2000 OS ) and select properties, you will see that the last accessed time is the time you right clicked the file. I dont know anyway of getting around that. I personally think that the last modified time ( buf.st_mtime) is the one that matters the most in your application. But it can be otherwise. Good luck.
i need to compare the last modified time and date of the same file.
ie., first im storing the last modified date and time of the file 'test.txt', then after sometimes or after some days, im again modifing the same file...and storing the date and time...then im comparg those two date and time...
like that i want to store the last two modified date and time......