【发布时间】:2011-02-07 18:53:30
【问题描述】:
是否有一种简单的“初学者”方法可以使用 <ctime> 将当前时间转换为具有的 Date 对象
int month
int day
int year
因为它的成员变量?谢谢。
【问题讨论】:
-
“标准日期对象”是指
time_t? -
在此处了解本地时间:twinsun.com/tz/tz-link.htm
是否有一种简单的“初学者”方法可以使用 <ctime> 将当前时间转换为具有的 Date 对象
int month
int day
int year
因为它的成员变量?谢谢。
【问题讨论】:
time_t?
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 int 都是从 0 开始的(0 = 1 月,1 = 2 月),您可以获得各种日度量值、月中日(tm_mday)、周(tm_wday)和年(@ 987654325@)。
【讨论】:
如果有 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;
}
【讨论】: