home | help
std::tm(3)		       C++ Standard Libary		      std::tm(3)

NAME
     std::tm - std::tm

Synopsis
	Defined in header <ctime>
	struct tm;

	Structure  holding  a calendar date and time broken down into its compo-
     nents.

Member objects
		     seconds after the minute a
		     [0, 61]
	int tm_sec   (until C++11)
		     [0, 60]
		     (since C++11)^[note 1]
		     (public member object)
	int tm_min   minutes after the hour a [0, 59]
		     (public member object)
	int tm_hour  hours since midnight a [0, 23]
		     (public member object)
	int tm_mday  day of the month a [1, 31]
		     (public member object)
	int tm_mon   months since January a [0, 11]
		     (public member object)
	int tm_year  years since 1900
		     (public member object)
	int tm_wday  days since Sunday a [0, 6]
		     (public member object)
	int tm_yday  days since January 1 a [0, 365]
		     (public member object)
		     Daylight Saving Time flag. The value is positive if DST  is
     in effect,
	int tm_isdst zero if not and negative if no information is available.
		     (public member object)

Notes
	The Standard mandates only the presence of the aforementioned members in
     some order.
	The implementations usually add more data members to this structure.

	 1.  a	Range allows for a positive leap second. Two leap seconds in the
     same minute
	    are not allowed (the range [0, 61] was a defect  introduced  in  C89
     and corrected
	    in C99).

Example
     // Run this code

      #include <ctime>
      #include <iostream>

      int main()
      {
	  std::tm tm{};
	  tm.tm_year = 2022 - 1900;
	  tm.tm_mday = 1;
	  std::mktime(&tm);

	  std::cout << std::asctime(&tm); // note implicit trailing '\n'

	  std::cout << "sizeof(std::tm) = " << sizeof(std::tm) << '\n'
		    << "sum of sizes of standard members = "
		    << sizeof(tm.tm_sec) +
		       sizeof(tm.tm_min) +
		       sizeof(tm.tm_hour) +
		       sizeof(tm.tm_mday) +
		       sizeof(tm.tm_mon) +
		       sizeof(tm.tm_year) +
		       sizeof(tm.tm_wday) +
		       sizeof(tm.tm_yday) +
		       sizeof(tm.tm_isdst) << '\n';
      }

Possible output:
      Sat Jan  1 00:00:00 2022
      sizeof(std::tm) = 56
      sum of sizes of standard members = 36

See also
	localtime  converts time since epoch to calendar time expressed as local
     time
		  (function)
		  converts time since epoch to calendar time expressed	as  Uni-
     versal
	gmtime	  Coordinated Time
		  (function)
	C documentation for
	tm

http://cppreference.com 	   2024.06.10			      std::tm(3)

home | help