come convertire datetime in unix timestamp in c?

come convertire datetime in unix timestamp in c?


lo scenario è:ottengo datetime nel formato "AAAA-MM-GG HH:MM:SS" con libexif. Per ridurre al minimo il costo di risparmio, voglio convertire il datetime in timestamp unix o simili che costano solo 64 bit o 32 bit. C'è un modo esplicito con c?


Risposte:


Potresti provare una combinazione di strptime e mktime


struct tm tm;
time_t epoch;
if ( strptime(timestamp, "%Y-%m-%d %H:%M:%S", &tm) != NULL )
epoch = mktime(&tm);
else
// badness