1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| /**
* This function set file date.
* @param file file path
* @param date date to set (Format Date = AAAAMMJJ;HHMMSS)
*/
void setfiledate(char * file, char * date)
{
struct tm datetotransform, datetransformed;
struct utimbuf times;
char datetemp[20];
char localdate[20];
datetemp[0] = 0;
localdate[0] = 0;
printf("\n\nDate Heure en parametre : %s\n",date);
sprintf(datetemp,"%c%c%c%c",date[0],date[1],date[2],date[3]);
datetotransform.tm_year=atoi(datetemp);
sprintf(datetemp,"%c%c",date[4],date[5]);
datetotransform.tm_mon=atoi(datetemp);
sprintf(datetemp,"%c%c",date[6],date[7]);
datetotransform.tm_mday=atoi(datetemp);
sprintf(datetemp,"%c%c",date[9],date[10]);
datetotransform.tm_hour=atoi(datetemp);
sprintf(datetemp,"%c%c",date[11],date[12]);
datetotransform.tm_min=atoi(datetemp);
sprintf(datetemp,"%c%c",date[13],date[14]);
datetotransform.tm_sec=atoi(datetemp);
datetotransform.tm_year = datetotransform.tm_year - 1900;
datetotransform.tm_mon = datetotransform.tm_mon - 1;
datetotransform.tm_isdst = -1;
strftime(datetemp, 256, "%H:%M:%S - %d/%m/%Y", &datetotransform);
printf("--> datetotransform = %s\n", datetemp);
times.actime=mktime(&datetotransform);
times.modtime=mktime(&datetotransform);
datetransformed = *localtime(×.modtime);
strftime(localdate, 20, "%Y%m%d;%H%M%S", &datetransformed);
printf("--> localdate = %s\n", localdate);
printf("--> Date Heure au final : %ld\n",times.modtime);
if (utime(file, ×) == -1)
{
printf("**Impossible de changer la date.**");
}
} |
Partager