Namespaces
Variants

difftime

From cppreference.net
Definiert im Header <time.h>
double difftime ( time_t time_end, time_t time_beg ) ;

Berechnet die Differenz zwischen zwei Kalenderzeiten als time_t Objekte ( time_end - time_beg ) in Sekunden. Wenn time_end auf einen Zeitpunkt vor time_beg verweist, ist das Ergebnis negativ.

Inhaltsverzeichnis

Parameter

time_beg, time_end - zu vergleichende Zeiten

Rückgabewert

Unterschied zwischen zwei Zeiten in Sekunden.

Hinweise

Auf POSIX-Systemen wird time_t in Sekunden gemessen, und difftime entspricht arithmetischer Subtraktion, aber C und C++ erlauben gebrochene Einheiten für time_t .

Beispiel

Das folgende Programm berechnet die Anzahl der Sekunden, die seit Beginn des Monats vergangen sind.

#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;
}

Ausgabe:

1937968 seconds have passed since the beginning of the month.

Referenzen

  • C17-Standard (ISO/IEC 9899:2018):
  • 7.27.2.2 Die difftime-Funktion (S: 285)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.27.2.2 Die difftime-Funktion (S: 390)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.23.2.2 Die difftime-Funktion (S: 338)
  • C89/C90-Standard (ISO/IEC 9899:1990):
  • 7.12.2.2 Die difftime-Funktion (S: 171)

Siehe auch

C++ Dokumentation für difftime