Bonjour mes amis expert linux, Je souhaite obtenir l'heure GMT de plusieurs manières: - en shell: aucun problème: date -u me donne bien -2H en été et -1H en hiver - en perl: gmtime me donne bien -2H en été et -1H en hiver - problème en C++: gmtime tout comme gmtime_r me donne -1H tout le temps, été comme hiver et sur la même machine donc même config système Quelqu'un aurait-il une idée? Voici un programme de test c++: #include <stdio.h> #include <iostream> #include <time.h> int main(int argc, char **argv) { time_t temps_gmt, temps=time(NULL); struct tm T; gmtime_r(&temps,&T); temps_gmt = mktime(&T); cout << "heure GMT: " << ctime(&temps_gmt) << endl; return 0; } à compiler avec g++ fichier.cpp -o testgmt, puis à exécuter ;) Florent,
On Thu, Aug 10, 2006 at 06:21:07PM +0200, Florent Guiliani wrote:
Voici un programme de test c++: #include <stdio.h> #include <iostream> #include <time.h>
int main(int argc, char **argv) { time_t temps_gmt, temps=time(NULL); struct tm T; gmtime_r(&temps,&T); temps_gmt = mktime(&T);
extrait du man mktime : La fonction mktime() convertit une date au format humain en une date locale sous forme ^^^^^^
cout << "heure GMT: " << ctime(&temps_gmt) << end
du même manuel : L'appel ctime(t) est équivalent à asctime(localtime(t)). Il ^^^^^^^^^ convertit la date t en une chaîne de caractères de la forme
return 0; }
à compiler avec g++ fichier.cpp -o testgmt, puis à exécuter ;)
-- /// Stephane Jourdois /"\ ASCII RIBBON CAMPAIGN \\\ ((( Consultant securite \ / AGAINST HTML MAIL ))) \\\ 24 rue Cauchy X /// \\\ 75015 Paris / \ +33 6 8643 3085 ///
merci beaucoup, je me sens un peu honteux, j'avais pourtant bien lu les mans de haut en bas mais je pense que ça nous est tous déjà arrivé ce genre de situation ;). Avec le programme suivant j'obtiens maintenant bien -2H en été et -1H en hivers, encore merci ;) #include <iostream> #include <stdio.h> #include <time.h> int main(int argc, char **argv) { time_t temps_gmt, temps=time(NULL); struct tm T; gmtime_r(&temps,&T); cout << "année: " << T.tm_year << endl; cout << "mois: " << T.tm_mon+1 << endl; cout << "jour: " << T.tm_mday << endl; cout << "heure: " << T.tm_hour << endl; cout << "min: " << T.tm_min << endl; cout << "sec: " << T.tm_sec << endl; return 0; } Stephane Jourdois a écrit :
On Thu, Aug 10, 2006 at 06:21:07PM +0200, Florent Guiliani wrote:
Voici un programme de test c++: #include <stdio.h> #include <iostream> #include <time.h>
int main(int argc, char **argv) { time_t temps_gmt, temps=time(NULL); struct tm T; gmtime_r(&temps,&T); temps_gmt = mktime(&T);
extrait du man mktime :
La fonction mktime() convertit une date au format humain en une date locale sous forme ^^^^^^
cout << "heure GMT: " << ctime(&temps_gmt) << end
du même manuel : L'appel ctime(t) est équivalent à asctime(localtime(t)). Il ^^^^^^^^^ convertit la date t en une chaîne de caractères de la forme
return 0; }
à compiler avec g++ fichier.cpp -o testgmt, puis à exécuter ;)
-- /// Stephane Jourdois /"\ ASCII RIBBON CAMPAIGN \\\ ((( Consultant securite \ / AGAINST HTML MAIL ))) \\\ 24 rue Cauchy X /// \\\ 75015 Paris / \ +33 6 8643 3085 /// _______________________________________________ Shell mailing list http://cli.asyd.net/home/ https://lists.asyd.net/mailman/listinfo.cgi/shell
-- * Florent GUILIANI - Développement Système* 41, avenue Jean Jaurès - 67100 STRASBOURG /Tel :/ 03.88.44.96.00 /- Fax :/ 03.88.44.96.29 /E-mail :/ fguiliani@perinfo.com <mailto:fguiliani@perinfo.com> /Site Web :/ http://www.perinfo.com
participants (2)
-
Florent Guiliani
-
Stephane Jourdois