В моем приложении MFC есть диалог со средством выбора даты. Когда я инициализирую этот диалог, мне нужно вызвать CDateTimeCtrl :: SetTime (), и я пытаюсь решить, какой аргумент ему дать. У меня есть массив целых чисел, представляющих год, месяц, день, час и минуту в UTC. Вот важный бит: средство выбора даты должно отображать время в UTC, а не местное время. И когда я позже вызываю GetTime (), я должен быть уверен, что то, что я получаю обратно, может рассматриваться как UTC.
Функция SetTime () имеет три переопределения: первое принимает CTime *, второе - COleDateTime и третье - LPSYSTEMTIME. Похоже, что конструктор CTime автоматически преобразует свои входные данные в местное время, а конструктор COleDateTime - нет. Это правда? И я думаю, что LPSYSTEMTIME на самом деле не предназначен для сборки вручную? Итак, мой лучший способ построить COleDateTime из моего массива и передать его SetTime?
Учитывая, что я зимой в Лондоне, как я могу проверить эти вещи, чтобы убедиться, что они ведут себя так, как я хочу? Есть ли способ временно притвориться, что я нахожусь в Чикаго, и проверить, не влияет ли это на мою дату?