C++ 如何在CDATETIMECRL中保留UTC?

C++ 如何在CDATETIMECRL中保留UTC?,c++,mfc,C++,Mfc,我的MFC应用程序有一个与日期选择器的对话。当我初始化这个对话时,我需要调用CDATETIMECRL::SetTime(),并试图决定给它什么参数。我有一个整数数组,表示UTC中的年、月、日、小时和分钟。重要的一点是:日期选择器必须以UTC而不是本地时间显示时间。当我稍后调用GetTime()时,我需要确保返回的内容可以被视为UTC SetTime()函数有三个重写:第一个重写采用CTime*,第二个重写采用COleDateTime&第三个重写采用LPSYSTEMTIME。看起来CTime的构造

我的MFC应用程序有一个与日期选择器的对话。当我初始化这个对话时,我需要调用CDATETIMECRL::SetTime(),并试图决定给它什么参数。我有一个整数数组,表示UTC中的年、月、日、小时和分钟。重要的一点是:日期选择器必须以UTC而不是本地时间显示时间。当我稍后调用GetTime()时,我需要确保返回的内容可以被视为UTC

SetTime()函数有三个重写:第一个重写采用CTime*,第二个重写采用COleDateTime&第三个重写采用LPSYSTEMTIME。看起来CTime的构造函数会自动将其输入转换为本地时间,而COleDateTime的构造函数则不会。这是真的吗?我认为LPSYSTEMTIME并不是真的设计为手工制作的?那么,从数组中构建COleDateTime并将其传递给SetTime是我的最佳选择吗


考虑到我冬天在伦敦,我如何测试这些东西,以确保它们的行为符合我的要求?有没有办法暂时假装我在芝加哥,并检查这不会影响我的约会选择者?

我很久以前就做过类似的工作。我想我用了这个时间。真正的优势在于它不会自动转换为本地时间。
如果您真的想测试,请尝试将您的时区设置为悉尼时间,因为我们现在使用的是夏令时(UTC+11)。大脑半球的变化将考验你