Il tuo anno dovrebbe essere un compensazione dal 1900. Questo è molto probabilmente il colpevole.
Provare:
licence_expiry_time_struct.tm_year = gtime_to / 10000 - 1900;
In generale, quando si usa mktime()
Si consiglia vivamente di iniziare con un valido tm
struttura in primo luogo (cioè chiamando localtime()
) e quindi cambiando i campi.