Conversión entre zonas horarias en C

Necesito convertir el tiempo entre las zonas horarias en C (en Linux, por lo que cualquier cosa específica haría también).

Sé que mi hora actual, local y UTC, tengo el desplazamiento del tiempo objetivo. Estoy tratando de usar mktime, gmtime, local time y un conjunto de funciones similares, pero aún no puedo resolverlo.

Gracias por adelantado.

Respuestas a la pregunta(3)

Su respuesta a la pregunta