std::localtime
提供: cppreference.com
ヘッダ <ctime> で定義
|
||
std::tm* localtime( const std::time_t *time ); |
||
std::time_t の値として指定されたエポックからの経過時間を現地時間で表されるカレンダー時刻に変換します。
目次 |
[編集] 引数
time | - | 変換する time_t オブジェクトを指すポインタ |
[編集] 戻り値
成功した場合は静的な内部の std::tm オブジェクトを指すポインタ、そうでなければヌルポインタ。 この構造体は std::gmtime、 std::localtime および std::ctime の間で共有されているかもしれず、呼び出しのたびに上書きされるかもしれません。
[編集] ノート
この関数はスレッドセーフでないかもしれません。
POSIX は引数が大きすぎるためにこの関数が失敗した場合は errno を EOVERFLOW に設定することを要求しています。
POSIX はこの関数が環境変数 TZ を読み込む tzset を呼んだかのようにタイムゾーン情報を決定することを規定しています。
[編集] 例
Run this code
#include <iostream> #include <iomanip> #include <ctime> #include <stdlib.h> // defines putenv in POSIX int main() { std::time_t t = std::time(nullptr); std::cout << "UTC: " << std::put_time(std::gmtime(&t), "%c %Z") << '\n'; std::cout << "local: " << std::put_time(std::localtime(&t), "%c %Z") << '\n'; // POSIX-specific: std::string tz = "TZ=Asia/Singapore"; putenv(tz.data()); std::cout << "Singapore: " << std::put_time(std::localtime(&t), "%c %Z") << '\n'; }
出力:
UTC: Fri Sep 15 14:16:29 2017 GMT local: Fri Sep 15 14:16:29 2017 UTC Singapore: Fri Sep 15 22:16:29 2017 SGT
[編集] 関連項目
エポックからの経過時間を協定世界時で表されるカ���ンダー時刻に変換します (関数) | |
localtime の C言語リファレンス
|