填充结构 tm
Populate struct tm
标准 C/C++ 库中是否有可以填充 struct tm
的内容?
更具体地说明我的问题:我希望能够提供日期并从中填充 struct tm
(例如:1-1-2000 00:00:01。)对于大多数我可以直接插入数据的字段,但我不知道 tm_wday
和 tm_isdst
.
我真的在寻找一种方法来填充这两个 而无需 编写一些复杂的星期几状态机。
你想要mktime
:
The original values of the tm_wday
and tm_yday
components of the
structure are ignored, and the original values of the other components
are not restricted to the ranges indicated above.
即 mktime
可以用作某种规范化函数,确保所有字段在之后保持一致。
mktime
听起来是您最好的选择。您传递给它的 struct tm
不需要具有指定范围内的值;它规范化字段,包括重新计算 tm_wday
和 tm_yday
。要让它尝试确定 DST 是否生效,请在调用 mktime
.
之前将 tm_isdst
成员设置为负数
如果要从字符串转换,可以使用 get_time
操纵器将信息提取到 tm
。
标准 C/C++ 库中是否有可以填充 struct tm
的内容?
更具体地说明我的问题:我希望能够提供日期并从中填充 struct tm
(例如:1-1-2000 00:00:01。)对于大多数我可以直接插入数据的字段,但我不知道 tm_wday
和 tm_isdst
.
我真的在寻找一种方法来填充这两个 而无需 编写一些复杂的星期几状态机。
你想要mktime
:
The original values of the
tm_wday
andtm_yday
components of the structure are ignored, and the original values of the other components are not restricted to the ranges indicated above.
即 mktime
可以用作某种规范化函数,确保所有字段在之后保持一致。
mktime
听起来是您最好的选择。您传递给它的 struct tm
不需要具有指定范围内的值;它规范化字段,包括重新计算 tm_wday
和 tm_yday
。要让它尝试确定 DST 是否生效,请在调用 mktime
.
tm_isdst
成员设置为负数
如果要从字符串转换,可以使用 get_time
操纵器将信息提取到 tm
。