Поле tm_year
Поле tm_year класса tm хранит количество лет,
прошедших с 1900 года. То есть, чтобы получить
реальный год, нужно прибавить к значению этого поля
число 1900. Например, если поле содержит
значение 124, то реальный год равен
2024. Поле имеет тип int.
Синтаксис
tm_obj.tm_year
Пример
Давайте получим текущее время и выведем значение
поля tm_year:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
time_t t = time(nullptr);
tm* now = localtime(&t);
cout << now->tm_year << endl;
return 0;
}
Результат выполнения кода:
126
Пример
Давайте прибавим к значению поля tm_year
число 1900, чтобы получить реальный год:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
time_t t = time(nullptr);
tm* now = localtime(&t);
int year = now->tm_year + 1900;
cout << year << endl;
return 0;
}
Результат выполнения кода:
2026
Пример
Давайте вручную заполним поля структуры tm
и выведем год, задав поле tm_year
значением 124 (что соответствует
2024 году):
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
tm date = {};
date.tm_year = 124;
date.tm_mon = 0;
date.tm_mday = 15;
cout << date.tm_year + 1900 << endl;
return 0;
}
Результат выполнения кода:
2024