C programming time.h function - struct tm *gmtime(const time_t *timer)
The gmtime()
function is a part of the standard C library and is declared in the <time.h>
header file. It is used to convert a time value of type time_t
(which represents the number of seconds since the Epoch) to a struct tm
representation, which provides a more human-readable format for representing the time.
The function signature is:
struct tm *gmtime(const time_t *timer);
The gmtime()
function takes a single argument, a pointer to a time_t
variable that contains the time value to be converted. It returns a pointer to a struct tm
that contains the broken-down time representation of the input time value in Coordinated Universal Time (UTC).
Here is an example usage of gmtime()
:
#include <stdio.h> #include <time.h> int main() { time_t current_time; struct tm *time_info; // Get the current time time(¤t_time); // Convert the current time to a struct tm representation time_info = gmtime(¤t_time); // Print the time in a human-readable format printf("The current time is %d:%02d:%02d UTC.\n", time_info->tm_hour, time_info->tm_min, time_info->tm_sec); return 0; }
In this example, the time()
function is used to get the current time, and gmtime()
is used to convert the time to a struct tm
representation. The resulting struct tm
is then used to print the time in a human-readable format.
Note that gmtime()
returns a pointer to a static internal struct tm
object, so it is not thread-safe. If you need to use the result of gmtime()
in a multithreaded program, you should make a copy of the result before calling gmtime()
again.