Namensräume
Varianten
Aktionen

difftime

Von cppreference.com
< c‎ | chrono
Definiert in 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 sich auf einen Zeitpunkt vor time_beg bezieht, ist das Ergebnis negativ.

Inhalt

[bearbeiten] Parameter

time_beg, time_end - Zu vergleichende Zeiten

[bearbeiten] Rückgabewert

Differenz zwischen zwei Zeiten in Sekunden.

[bearbeiten] Hinweise

Auf POSIX-Systemen wird time_t in Sekunden gemessen und difftime entspricht der arithmetischen Subtraktion, aber C und C++ erlauben Bruchteile für time_t.

[bearbeiten] 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.

[bearbeiten] Referenzen

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

[bearbeiten] Siehe auch

C++-Dokumentation für difftime