如何从 GMT 细分日期/时间构造 wxDateTime?

How to construct a wxDateTime from a GMT broken down date/time?

提问人:Ivan 提问时间:11/9/2022 更新时间:11/9/2022 访问量:116

问:

我有一个字符串时间戳(“YYYY-MM-DD HH:MM:SS”),它是 GMT,我需要从中创建一个 wxDateTime。由于使用 wxDateTime(如文档中所述)“时间始终存储在 GMT 内部”,因此可以假设有一种直接的方法可以完全绕过时区,但“所有采用细分日期的 wxDateTime 构造函数和 setter 都假定这些值是针对本地时区的”。那么这可能吗?如果做不到这一点,执行上述转换的最简单方法是什么?

时间戳 时区 wxwidgets GMT 日期时间转换

评论

1赞 Ripi2 11/9/2022
wxDateTime::P arseISOCombined() 应该“按原样”存储字符串。您可以稍后设置时区。
2赞 New Pagodi 11/9/2022
我认为最简单的事情就是将时区添加到字符串时间戳中。例如,在“2022-11-08 11:00:00”中附加“-0000”。然后,使用格式字符串“%Y-%m-%d %H:%M:%S %z”调用 wxDateTime::P arseFormat,应提供所需的日期时间对象。
0赞 Ivan 11/9/2022
感谢您的回答。事实证明,ParseISOCombined() 只是 ParseFormat() 的包装器,没有时区信息,因此将输入视为本地时间。新宝塔的建议看起来确实是最简单的方法。如果输入是 UNIX 时间戳(不是字符串),wxDateTime(time_t) 将完全按照我的意愿执行操作。

答: 暂无答案