Прототип функции gmtime:
struct tm * gmtime( const time_t * timeptr );
Заголовочный файл
| Название | Язык |
|---|---|
| time.h | С |
| ctime | С++ |
Описание
Функция принимает значение времени в качестве аргумента через указатель timeptr на time_t, чтобы заполнить элемент-члены структуры tm, дату и время в формате GMT.
Параметры:
- timeptr
Указатель наtime_t, представляющий календарное время (смотреть time_t).
Возвращаемое значение
Указатель на заполненную структуру tm информацией о времени.
Структура tm статическая и предоставляется функциям gmtime и localtime. Каждый раз, когда любая из этих функций срабатывает содержание этой структуры будет перезаписываться.
Пример: исходный код программы
// пример использования функции gmtime
#include <iostream>
#include <ctime>
#include <iomanip> // манипуляторы ввода
#define UTC (0) // запдноевропейское время
#define EET (+2) // восточноевропейское время (Украина)
#define MSK (+4) // московское время
int main()
{
time_t rawtime;
struct tm * ptm;
time( &rawtime ); // определить текущую дату в секундах
ptm = gmtime( &rawtime ); // дата и время в формате GMT
std::cout << "Текущее время в Европпе...n";
std::cout << std::setw(82) << std::left
<< "Западноевропейское время (Великобритания): "
<< (ptm->tm_hour + UTC) % 24 << ":" // часы + поправка часового пояса UTC
<< std::setfill('0') // заполнить ширину поля нулями
<< std::setw(2) // установить ширину поля - 2 символа
<< ptm->tm_min << std::endl; // минуты
std::cout << std::setfill(' ') << std::setw(76) << std::left
<< "Восточноевропейское время (Украина): "
<< (ptm->tm_hour + EET) % 24 << ":" // часы + поправка часового пояса EET
<< std::setfill('0') // заполнить ширину поля нулями
<< std::setw(2) // установить ширину поля - 2 символа
<< ptm->tm_min << std::endl; // минуты
std::cout << std::setfill(' ') << std::setw(60) << std::left
<< "Московское время: "
<< (ptm->tm_hour + MSK) % 24 << ":" // часы + поправка часового пояса MSK
<< std::setfill('0') // заполнить ширину поля нулями
<< std::setw(2) // установить ширину поля - 2 символа
<< ptm->tm_min << std::endl; // минуты
return 0;
}
Пример работы программы
CppStudio.com
Западноевропейское время (Великобритания): 16:25
Восточноевропейское время (Украина): 18:25
Московское время: 20:25
Восточноевропейское время (Украина): 18:25
Московское время: 20:25