Namespaces
Variants

Standard library header <ctime>

From cppreference.com
 
 
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) [edit]
implementation-defined null pointer constant
(macro constant) [edit]

Types

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

Functions

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

Synopsis

#define __STDC_VERSION_TIME_H__ 202311L

#define NULL               /* see description */
#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 = /* see description */;
  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;
};