El problema es que ctime
usa la hora local, por lo que termina en el desplazamiento.
Si desea GMT, debe usar asctime(gmtime(&time))
, que le dará una fecha/hora sin influencias de la hora local.
ctime
es el equivalente de asctime(localtime(&time))