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 std::time_t ob- ject. time->tm_wday and time->tm_yday are ignored. The values in time are per- mitted to be outside their normal ranges. A negative value of time->tm_isdst causes mktime to attempt to determine 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 strp- time, the value of tm_isdst is indeterminate, and needs to be set explicitly be- fore calling mktime. Example Construct a local time explicitly. // Run this code #include <ctime> #include <iomanip> #include <iostream> #include <sstream> 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) C documentation for mktime http://cppreference.com 2024.06.10 std::mktime(3)
NAME | Synopsis | Parameters | Return value | Notes | Example | Possible output: | See also
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.1.quarterly>