Bonjour,
est ce que vous savez comment je peux faire pour transformer l'heure locale en heure d'un autre pays (bresil par exemple)?
Merci d'avance
Bonjour,
est ce que vous savez comment je peux faire pour transformer l'heure locale en heure d'un autre pays (bresil par exemple)?
Merci d'avance
je crois que ma question n'a pas été tres claire : en fait je cherche à transformer une date/heure créée sous un time zone à une date/heure d'un autre time zone
si vous avez meme un debur de piste, n'hesitez pas
merci encore
L'heure dans les différentes zones horaires ne diffèrent que d'un nombre entier d'heures, non? Je pense qu'il suffit de déterminer l'heure locale et d'ajouer/retrancher le nombres d'heures adéquates (c'est peut être un peu naïf, le problème heure d'été/hiver complique peut-être un peu l'algo).
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+








Il y a quelques fuseaux horaires avec un décalage d'une demi heure. Par exemple, l'inde est à GMT + 5h30.
Soit, merci pour la précision. Je crois que cela ne devrait pas trop compliquer l'algorithme.Envoyé par Ulmo
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
je ne crois pas que c'est aussi facile que ça!! en ajoutant le décalage, il peut y avoir un changement de jour, de mois et peut être de l'année.
alors problème d'heure d'été/hiver (pour le pays local et distant), problème d'année bissextile ou pas??!! en plus, un pays comme le brésil a 4 fuseaux horaires différents!!
j'imaginais l'existence d'une fonction qui ne retourne la date distante en lui passant comme paramètre la date locale avec le fuseau horaire local et distant. mais bon apparemment ça n'existe que dans mon imagination
Déjà c'est pas la peine de t'énerver c'est pas comme ca que tu vas inciter les gens a t'aider.
Sinon concernant ton probleme : Ce genre de fonctions, on peut en trouver en Java où le developpeur est en permanence guidé et encouragé a utiliser les classes deja presentes.
Il faut bien comprendre que le C et le C++ n'ont pas la meme logique : ils te donnent les outils de base, et apres c'est a toi de te debrouiller. Ils ignorent meme la notion de date.
Donc a moins que quelqu'un ait publié un code pour faire cela sur le net (voir google pour cela) tu devras faire cette fonction par toi-même.
Detail supplementaire : je vois une erreur dans ton raisonnement : Un coup tu nous parles de pays/d'heures d'hiver/été (decision propre a chaque pays), et un coup tu nous parles de fuseau horaire. Il faudrait d'abord que tu decides si c'est le passage d'un fuseau a un autre, ou d'un pays/d'une partie d'un pays a un autre qui t'interesse.
non tu peux...
Il faut utiliser les fonctions setenv, getenv, etc... qui te permettent de changer le timezone, et donc après de faire un appel à time ou mktime ou localtime.
Il te faudra faire une petite fonction qui prend en paramètre le décalage (et/ou la zone), et ressortira la chaîne de la date (ou le temps GMT), et dedans sauvegardera le timezone local, changera le timezone, fera l'opération souhaitée, et remettra le timezone original.
tu as un exemple en sens inverse (passage de tout temps en GMT) dans le code que j'ai posté ici
![]()
déjà je m'énerve jamais quand je développe, j'étais tout simplement entrain d'exprimer la complexité de l'algorithme (à mon avis, peut être que je me trompe) pour les gents qui essayent vraiment de m'aider !!
ensuite, sans rentrer dans les détails des fuseaux horaires et tout ce bazard, la question est toute bête : 23h17min26s un 27/02/2001 au brésil correspond à quelle date/heure en france? ou la date/heure actuelle en france correspond à quoi aux usa?
sincèrement je m’en fou complètement si je trouve une solution à ce problème maintenant, je continuerai à chercher juste pour savoir si c’est possible en C (la science mon cher ami, la science), et si c’est pas le cas, qui sait peut être qu’un jour j’aurai le temps de développer cet algorithme et le proposer ensuite à tout le monde
EDIT : j'ai ecris mon message avant de voir celui de souviron34. Ok merci bcp je vais chercher de ce coté








C'est évidemment possible en C, mais il faut être plus précis que "au Brésil" ou "aux USA".
Ce n'est quand même pas compliqué d'ajouter le décalage horaire, puis de corriger la date si on déborde de la plage 0-23h.Envoyé par SegmentationFault
et je rajouterais même en soutien à Ulmo que bêtement le time_t dans C comptent les secondes depuis le 01/01/1970, et que donc rajouter N heures et reconvertir est extrêmement simple...
Regarde ton manuel de C, SegmentationFault.
ok je m'arrete la, j'ai pas trop detaillé tout ce que je voulais mais j'ai un bon debut de piste grace à vous
merci à vous tous
Partager