Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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

NAME
       std::mktime - std::mktime

Synopsis
	  Defined in header <ctime>
	  std::time_t mktime( std::tm* time );

	  Converts  local  calendar time to a time since epoch as a time_t ob-
       ject. time->tm_wday
	  and time->tm_yday are	ignored. The values in time are	 permitted  to
       be outside their
	  normal ranges.

	  A  negative  value of	time->tm_isdst causes mktime to	attempt	to de-
       termine if Daylight
	  Saving Time was in effect.

	  If the conversion is successful, the time object  is	modified.  All
       fields of time are
	  updated  to fit their	proper ranges. time->tm_wday and time->tm_yday
       are recalculated
	  using	information available in other fields.

Parameters
	  time - pointer to a std::tm object specifying	local calendar time to
       convert

Return value
	  Time since epoch as a	std::time_t object on success or  -1  if  time
       cannot be
	  represented as a std::time_t object.

Notes
	  If  the  std::tm object was obtained from std::get_time or the POSIX
       strptime, the
	  value	of tm_isdst is indeterminate, and needs	to be  set  explicitly
       before calling
	  mktime.

Example
	  Construct a local time explicitly.

       // Run this code

	#include <iostream>
	#include <sstream>
	#include <iomanip>
	#include <ctime>

	int main()
	{
	    setenv("TZ",   "/usr/share/zoneinfo/America/Los_Angeles",  1);  //
       POSIX-specific

	    std::tm tm{};  // zero initialise
	    tm.tm_year = 2020-1900; // 2020
	    tm.tm_mon =	2-1; //	February
	    tm.tm_mday = 15; //	15th
	    tm.tm_hour = 10;
	    tm.tm_min =	15;
	    tm.tm_isdst	= 0; //	Not daylight saving
	    std::time_t	t = std::mktime(&tm);
	    std::tm local = *std::localtime(&t);

	    std::cout << "local: " << std::put_time(&local, "%c	%Z") <<	'\n';
	}

Possible output:
	local: Sat Feb 15 10:15:00 2020	PST

See also
	  localtime converts time since	epoch to calendar  time	 expressed  as
       local time
		    (function)

http://cppreference.com		  2022.07.31			std::mktime(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::mktime&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help