Skip to content

Latest commit

 

History

History
73 lines (52 loc) · 1.9 KB

File metadata and controls

73 lines (52 loc) · 1.9 KB

localtime_r

  • ctime[meta header]
  • std[meta namespace]
  • function[meta id-type]
  • cpp26[meta cpp]
namespace std {
  tm* localtime_r(const time_t* timer, tm* buf);
}
  • time_t[link time_t.md]
  • tm[link tm.md]

概要

経過秒 (time_t) を、ローカル時間で表現されたカレンダー時間 (tm構造体) に変換する。

localtimeと異なり、結果を利用者が用意したバッファbufに格納するため、スレッドセーフである。

C23で<time.h>に追加された関数であり、C++26で<ctime>に取り込まれた。

効果

timerが指すカレンダー時間を、ローカル時間で表現された要素別の時間に変換し、bufが指す構造体に格納する。

戻り値

変換した要素別の時間 (buf) を指すポインタを返す。

指定された時間をローカル時間に変換できない場合、ヌルポインタを返す。

#include <ctime>
#include <print>

int main()
{
  std::time_t t = std::time(nullptr);

  std::tm result;
  if (std::localtime_r(&t, &result) != nullptr) {
    std::println("{}", result.tm_year + 1900);
  }
}
  • std::localtime_r[color ff0000]

出力例

2026

バージョン

言語

  • C++26

処理系

関連項目

  • localtime: 経過秒からローカル時間のカレンダー時間を生成する
  • gmtime_r: 経過秒からUTCのカレンダー時間を生成する (バッファ指定)

参照