名前空間
変種
操作

std::localtime

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

エポックからの指定された時刻をstd::time_t値として、ローカル時刻で表現された暦時刻に変換します。

目次

[編集] パラメータ

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

[編集] 戻り値

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

[編集] 注記

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

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

POSIXでは、この関数がタイムゾーン情報を決定する方法は、tzsetを呼び出すのと同様であると指定されており、これは環境変数TZを読み取ります。

[編集]

#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::cout << "UTC:   " << std::put_time(std::gmtime(&t), "%c %Z") << '\n';
    std::cout << "local: " << std::put_time(std::localtime(&t), "%c %Z") << '\n';
}

実行結果の例

UTC:   Sat Feb 15 18:15:00 2020 GMT
local: Sat Feb 15 10:15:00 2020 PST

[編集] 関連項目

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