名前空間
変種
操作

std::gmtime

From cppreference.com
< cpp‎ | chrono‎ | c
 
 
 
 
ヘッダ <ctime> で定義
std::tm* gmtime( const std::time_t* time );

指定されたエポックからの時刻を std::time_t 値として、協定世界時 (UTC) で表現された暦時刻に変換します。

目次

[編集] パラメータ

time - 変換する time_t オブジェクトへのポインタ

[編集] 戻り値

成功した場合は、内部の静的な std::tm オブジェクトへのポインタ。それ以外の場合は null ポインタ。この構造体は、std::gmtimestd::localtime、および std::ctime 間で共有される可能性があり、各呼び出しで上書きされる可能性があります。

[編集]

この関数はスレッドセーフではない可能性があります。

POSIX では、引数が大きすぎるために失敗した場合、この関数が errnoEOVERFLOW に設定することを要求しています。

[編集]

#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';
}

実行結果の例

UTC:   Wed Jul 15 09:15:00 2020 GMT
local: Wed Jul 15 10:15:00 2020 BST

[編集] 関連項目

エポックからの時間を、地方時で表されるカレンダー時間に変換する
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)