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
|
#include <stdio.h>
#include <string.h>
#include <time.h>
time_t string_to_time_t(char *s)
{
time_t rawtime;
struct tm * timeinfo;
char month_s[3],day_s[2],hour_s[2],minute_s[2],second_s[2];
int month,day,hour,minute,second;
char *p=s;
strncpy(month_s,p,3); p+=4;
strncpy(day_s,p,2); p+=3;
strncpy(hour_s,p,2); p+=3;
strncpy(minute_s,p,2); p+=3;
strncpy(second_s,p,2);
char * month_names[12]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
int i=0;
while( !(strcmp(month_s,month_names[i])) )
i++;
month=i;
day=atoi(day_s);
hour=atoi(hour_s);
minute=atoi(minute_s);
second=atoi(second_s);
time (&rawtime);
timeinfo=localtime(&rawtime);
timeinfo->tm_mon=month;
timeinfo->tm_mday=day;
timeinfo->tm_hour=hour;
timeinfo->tm_min=minute;
timeinfo->tm_sec=second;
return mktime(timeinfo);
}
int main(int argc, char **argv)
{
printf("temps %lu\n",(unsigned long)string_to_time_t("Dec 18 00:00:20"));
return 0;
} |
Partager