2

是否有一种简单的“初学者”方法可以将当前时间<ctime>用于具有

int month
int day
int year

因为它的成员变量?谢谢。

4

2 回答 2

4
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

struct int 都是从tm0 开始的(0 = 1 月,1 = 2 月),您可以获得各种日度量值,月中的日 ( tm_mday)、周 ( tm_wday) 和年 ( tm_yday)。

于 2010-04-14T07:14:12.350 回答
2

如果有 localtime_r,那么您应该使用localtime_r而不是 localtime,因为这是 localtime 的可重入版本。

#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;
}
于 2010-04-14T07:49:00.597 回答