[C++] 36 日時の取得 localtime関数

[M1 Mac, Big Sur 11.6.5, FLTK 1.3.8]

開発中のアプリにデフォルトとして今日の日付を表示するため、関数を用意しました。

今回は年月日だけですが年月日時分秒も可能です。

ネット情報から拝借したものをアレンジしています。

#include <iostream>
#include <iomanip>

using std::setfill; using std::setw;
using std::stringstream;

string today;
time_t t;
stringstream s;
const tm* localTime;

string getDatetimeStr() {
    t = time(nullptr);
    localTime = localtime(&t);
    s << localTime->tm_year + 1900;
    s << setw(2) << setfill('0') << localTime->tm_mon + 1;
    s << setw(2) << setfill('0') << localTime->tm_mday;
    // s << setw(2) << setfill('0') << localTime->tm_hour;
    // s << setw(2) << setfill('0') << localTime->tm_min;
    // s << setw(2) << setfill('0') << localTime->tm_sec;
    return s.str();
}

参考サイト