Namespaces
Variants

difftime

From cppreference.net
Défini dans l'en-tête <time.h>
double difftime ( time_t time_end, time_t time_beg ) ;

Calcule la différence entre deux temps calendaires en tant qu'objets time_t ( time_end - time_beg ) en secondes. Si time_end se réfère à un point temporel antérieur à time_beg alors le résultat est négatif.

Table des matières

Paramètres

time_beg, time_end - temps à comparer

Valeur de retour

Différence entre deux heures en secondes.

Notes

Sur les systèmes POSIX, time_t est mesuré en secondes, et difftime équivaut à une soustraction arithmétique, mais le C et le C++ autorisent des unités fractionnaires pour time_t .

Exemple

Le programme suivant calcule le nombre de secondes écoulées depuis le début du mois.

#include <stdio.h>
#include <time.h>
int main(void)
{
    time_t now = time(0);
    struct tm beg = *localtime(&now);
    // set beg to the beginning of the month
    beg.tm_hour = 0,
    beg.tm_min = 0,
    beg.tm_sec = 0,
    beg.tm_mday = 1;
    double seconds = difftime(now, mktime(&beg));
    printf("%.f seconds have passed since the beginning of the month.\n", seconds);
    return 0;
}

Sortie :

1937968 seconds have passed since the beginning of the month.

Références

  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.27.2.2 La fonction difftime (p: 285)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.27.2.2 La fonction difftime (p: 390)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.23.2.2 La fonction difftime (p: 338)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 7.12.2.2 La fonction difftime (p: 171)

Voir aussi

Documentation C++ pour difftime