2

当您通过这种结构获得时间时:http ://www.cplusplus.com/reference/ctime/tm/ 可以看到值(例如,tm_sec, tm_min)都是int. 问题是我想将这些存储int在某个地方。但我想使用int32_ttype 而不是int,所以大小是固定的。对此我能做些什么吗?

4

1 回答 1

3

C++struct tm从 C 中获取类型。根据 C 标准,这些元素struct tm具有一定的范围:

C99 §7.23.1 时间的组成部分

tm结构应至少包含以下成员,按任意顺序排列。成员的语义及其正常范围在注释中表达。

int tm_sec;   //seconds after the minute — [0, 60]
int tm_min;   //minutes after the hour — [0, 59]
int tm_hour;  //hours since midnight — [0, 23]
int tm_mday;  //day of the month — [1, 31]
int tm_mon;   //months since January — [0, 11]
int tm_year;  //years since 1900
int tm_wday;  //days since Sunday — [0, 6]
int tm_yday;  //days since January 1 — [0, 365]
int tm_isdst; // Daylight Saving Time flag

这些值可以安全地转换为int32_t.

于 2013-09-24T12:46:35.653 回答