Le problème est que ctime
utilise l'heure locale, donc cela se retrouve dans le décalage.
Si vous voulez GMT, vous devez utiliser asctime(gmtime(&time))
, qui vous donnera une date/heure sans influence de l'heure locale.
ctime
est l'équivalent de asctime(localtime(&time))