In realtà ho tempo dal periodo in pochi secondi e ho bisogno di calcolare l'età in funzione su di esso. Quindi l'input sarà secondi dall'epoch e l'out put dovrebbe essere basato sull'età in base alla data corrente.
Per questo non è necessario l'anno, il mese, il giorno di nessuno dei due timestamp. Sottrai le due epoche volte per ottenere un valore in secondi. Dividere per 60 * 60 * 24 * 365 a get a value in years:
int main() {
time_t past = 1234567890;
time_t now = time(0);
double years = double(now - past)/60/60/24/365;
cout << "years = " << years << '\n';
return 0;
}
Questo sarà disattivata tramite un secondo salto che si sono verificati tra i due timestamp, ma, significativamente, dà il valore corretto entro un anno. Ad esempio, dal 1 ° dicembre 2010 al 1 ° gennaio 2011 è circa 1/12 ° anno, non 1 anno.
fonte
2011-01-31 10:02:16
dati di input e output previsti? –