Difference between revisions of "cpp/chrono/c/gmtime"
From cppreference.com
(simplify example) |
Andreas Krug (Talk | contribs) m (fmt, headers sorted) |
||
Line 1: | Line 1: | ||
− | {{cpp/title| gmtime}} | + | {{cpp/title|gmtime}} |
{{cpp/chrono/c/navbar}} | {{cpp/chrono/c/navbar}} | ||
− | {{ddcl | header=ctime | | + | {{ddcl|header=ctime| |
std::tm* gmtime( const std::time_t* time ); | std::tm* gmtime( const std::time_t* time ); | ||
}} | }} | ||
Line 9: | Line 9: | ||
===Parameters=== | ===Parameters=== | ||
{{par begin}} | {{par begin}} | ||
− | {{par | time | pointer to a time_t object to convert}} | + | {{par|time|pointer to a time_t object to convert}} |
{{par end}} | {{par end}} | ||
Line 22: | Line 22: | ||
===Example=== | ===Example=== | ||
{{example | {{example | ||
− | + | |code= | |
− | + | #include <ctime> | |
+ | #include <iomanip> | ||
#include <iostream> | #include <iostream> | ||
#include <sstream> | #include <sstream> | ||
− | |||
− | |||
int main() | int main() | ||
Line 33: | Line 32: | ||
setenv("TZ", "/usr/share/zoneinfo/Europe/London", 1); // POSIX-specific | setenv("TZ", "/usr/share/zoneinfo/Europe/London", 1); // POSIX-specific | ||
− | std::tm tm{}; | + | std::tm tm{}; // get_time does not set all fields hence {} |
− | tm.tm_year = 2020-1900; // 2020 | + | tm.tm_year = 2020 - 1900; // 2020 |
− | tm.tm_mon = 7-1; // July | + | tm.tm_mon = 7 - 1; // July |
tm.tm_mday = 15; // 15th | tm.tm_mday = 15; // 15th | ||
tm.tm_hour = 10; | tm.tm_hour = 10; | ||
Line 45: | Line 44: | ||
std::cout << "local: " << std::put_time(std::localtime(&t), "%c %Z") << '\n'; | std::cout << "local: " << std::put_time(std::localtime(&t), "%c %Z") << '\n'; | ||
} | } | ||
− | + | |p=true | |
− | + | |output= | |
UTC: Wed Jul 15 09:15:00 2020 GMT | UTC: Wed Jul 15 09:15:00 2020 GMT | ||
local: Wed Jul 15 10:15:00 2020 BST | local: Wed Jul 15 10:15:00 2020 BST | ||
Line 53: | Line 52: | ||
===See also=== | ===See also=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc inc | cpp/chrono/c/dsc localtime}} | + | {{dsc inc|cpp/chrono/c/dsc localtime}} |
− | {{dsc see c | c/chrono/gmtime}} | + | {{dsc see c|c/chrono/gmtime}} |
{{dsc end}} | {{dsc end}} | ||
{{langlinks|de|es|fr|it|ja|pt|ru|zh}} | {{langlinks|de|es|fr|it|ja|pt|ru|zh}} |
Latest revision as of 22:29, 19 August 2023
Defined in header <ctime>
|
||
std::tm* gmtime( const std::time_t* time ); |
||
Converts given time since epoch as std::time_t value into calendar time, expressed in Coordinated Universal Time (UTC).
Contents |
[edit] Parameters
time | - | pointer to a time_t object to convert |
[edit] Return value
Pointer to a static internal std::tm object on success, or null pointer otherwise. The structure may be shared between std::gmtime, std::localtime, and std::ctime and may be overwritten on each invocation.
[edit] Notes
This function may not be thread-safe.
POSIX requires that this function sets errno to EOVERFLOW if it fails because the argument is too large.
[edit] Example
Run this code
#include <ctime> #include <iomanip> #include <iostream> #include <sstream> int main() { setenv("TZ", "/usr/share/zoneinfo/Europe/London", 1); // POSIX-specific std::tm tm{}; // get_time does not set all fields hence {} tm.tm_year = 2020 - 1900; // 2020 tm.tm_mon = 7 - 1; // July tm.tm_mday = 15; // 15th tm.tm_hour = 10; tm.tm_min = 15; tm.tm_isdst = 1; // Daylight saving in London std::time_t t = std::mktime(&tm); std::cout << "UTC: " << std::put_time(std::gmtime(&t), "%c %Z") << '\n'; std::cout << "local: " << std::put_time(std::localtime(&t), "%c %Z") << '\n'; }
Possible output:
UTC: Wed Jul 15 09:15:00 2020 GMT local: Wed Jul 15 10:15:00 2020 BST
[edit] See also
converts time since epoch to calendar time expressed as local time (function) | |
C documentation for gmtime
|