Вопрос
Есть ли легкий «начинающий» способ занять текущее время, используя <ctime>
до ведущего объекта, имеющего
int month
int day
int year
Для его переменных элементов? Спасибо.
Решение
time_t tt = time(NULL); // get current time as time_t
struct tm* t = localtime(&tt) // convert t_time to a struct tm
cout << "Month " << t->tm_mon
<< ", Day " << t->tm_mday
<< ", Year " << t->tm_year
<< endl
То tm
struct ints - все 0 (0 = 1 января, 1 = Фев), и вы можете получить различные дневные меры, день в месяц (tm_mday
), неделю (tm_wday
) и год (tm_yday
).
Другие советы
Если есть локальное время, то вы должны использовать localtime_r. а не локальное время, поскольку это версия ReentRant Boytime.
#include <ctime>
#include <iostream>
int main()
{
time_t tt = time(NULL); // get current time as time_t
tm tm_buf;
tm* t = localtime_r(&tt, &tm_buf); // convert t_time to a struct tm
std::cout << "Month " << t->tm_mon
<< ", Day " << t->tm_mday
<< ", Year " << t->tm_year
<< std::endl;
return 0;
}
Не связан с StackOverflow