salut a tous. je dois utiliser les timestamps unix dans mon prog en C... en fait je récupere une date en jours absolus (nombre de jours depuis le 1°janvier) de l'année en cours. Je dois trouver le timestamp de cette date (avec heure-min-sec).
j'utilise mktime pour cela. ensuite j'ajoute les jours, heures etc. le pb c'est que j'ai des résults aléatoires...des fois le timestamp est ok, des fois non (vérifié avec un script php ki fonctionne sans pb)... voila mon code, si kkun a une idée :
// champ timest = timestamp unix de l'enregistrement
char anneechar[MAX_SIZE] = "6"; //annee 06
char jourchar[MAX_SIZE] = "160"; // jour 160 = 09/06/2006
char heurechar[MAX_SIZE] = "13";
char minuteschar[MAX_SIZE] = "23";
char secondeschar[MAX_SIZE] = "12";
int anneeint = atoi(anneechar);
int jourint = atoi(jourchar);
int heureint = atoi(heurechar);
int minutesint = atoi(minuteschar);
int secondesint = atoi(secondeschar);
// structure tm : structure de temps de time.h
struct tm timest;
//initialisation des champs de la structure au premier janvier de l'annee en cours
timest.tm_year = 106 ; // 6 + 100 (1900->2000)
timest.tm_hour = timest.tm_min = timest.tm_sec = 0;
timest.tm_mday = 1;
timest.tm_mon = 0;
// conversion du timestamp
time_t timestamp;
timestamp = mktime(×t);
// calcul
timestamp+=(3600*24*(jourint-2))+(3600*heureint)+(60*minutesint)+secondesint;