La conversion Entre l'heure Locale et l'heure GMT/UTC en C/C++

Quel est le meilleur moyen de convertir des datetimes entre l'heure locale et l'heure UTC en C/C++?

Par "datetime", je veux dire des temps de représentation qui contient la date et l'heure de la journée. Je vais être heureux avec time_t, struct tm, ou toute autre représentation qui la rend possible.

De ma plate-forme Linux.

Voici le problème que j'essaie de résoudre: - je obtenir une paire de valeurs contenant une date julienne et un certain nombre de secondes dans la journée. Ces valeurs sont en GMT. J'ai besoin de convertir un locale-fuseau horaire "AAAAMMJJHHMMSS" de la valeur. Je sais comment faire pour convertir la date julienne de Y-M-D, et évidemment, il est facile de convertir des secondes en HHMMSS. Cependant, la partie la plus délicate est le fuseau horaire de conversion. Je suis sûr que je peux trouver une solution, mais je préfère trouver un "standard" ou "bien connu" façon plutôt que d'achoppement autour de.


D'une question connexe est de savoir Obtenez de l'heure d'été Dates de Transition Pour les fuseaux Horaires en C