Namespaces
Variants

Standard library header <ctime>

From cppreference.net
 
 
Standard library headers
 

This header was originally in the C standard library as <time.h>.

This header is part of the C-style date and time library.

Macro constants

number of processor clock ticks per second
(macro constant)
implementation-defined null pointer constant
(macro constant)

Types

process running time
(typedef)
unsigned integer type returned by the sizeof operator
(typedef)
time since epoch type
(typedef)
calendar time type
(class)
(C++17)
time in seconds and nanoseconds
(struct)

Functions

Time manipulation
returns raw processor clock time since the program is started
(function)
returns the current time of the system as time since epoch
(function)
computes the difference between times
(function)
returns the calendar time in seconds and nanoseconds based on a given time base
(function)
returns the resolution of calendar time based on a given time base
(function)
Format conversions
(deprecated in C++26)
converts a std::tm object to a textual representation
(function)
(deprecated in C++26)
converts a std::time_t object to a textual representation
(function)
converts a std::tm object to custom textual representation
(function)
converts time since epoch to calendar time expressed as Universal Coordinated Time
(function)
converts time since epoch to calendar time expressed as local time
(function)
converts calendar time to time since epoch
(function)
(C++26)
converts calendar time to time since epoch, ignoring the Daylight Saving Time flag
(function)

Synopsis

#define __STDC_VERSION_TIME_H__ 202311L

#define NULL               /* implementation-defined */
#define CLOCKS_PER_SEC     /* see description */
#define TIME_UTC           /* see description */
#define TIME_MONOTONIC     /* see description */  // optional
#define TIME_ACTIVE        /* see description */  // optional
#define TIME_THREAD_ACTIVE /* see description */  // optional

namespace std {
  using size_t = /* implementation-defined */;
  using clock_t = /* see description */;
  using time_t = /* see description */;

  struct timespec;
  struct tm;

  clock_t clock();
  double difftime(time_t time1, time_t time0);
  time_t mktime(tm* timeptr);
  time_t timegm(tm* timeptr);
  time_t time(time_t* timer);
  int timespec_get(timespec* ts, int base);
  int timespec_getres(timespec* ts, int base);
  // char* asctime(const tm* timeptr);
  // char* ctime(const time_t* timer);
  tm* gmtime(const time_t* timer);
  tm* gmtime_r(const time_t* timer, tm* buf);
  tm* localtime(const time_t* timer);
  tm* localtime_r(const time_t* timer, tm* buf);
  size_t strftime(char* s, size_t maxsize, const char* format, const tm* timeptr);
}

Class std::timespec

struct timespec {
  std::time_t tv_sec;
  long tv_nsec;
};

Class std::tm

struct tm {
  int tm_sec;
  int tm_min;
  int tm_hour;
  int tm_mday;
  int tm_mon;
  int tm_year;
  int tm_wday;
  int tm_yday;
  int tm_isdst;
};