2010-03-17 2 views
0

У меня есть время в будущем, когда я хочу, уведомление происходит и должно знать, если ::CeSetUserNotificationEx ожидает UTC или местное время в stStartTime поле CE_NOTIFICATION_TRIGGER структуры, если dwType поля установлено CNT_TIME?Является UTC или local time, используя уведомления по времени?

ответ

1

После тестирования фактически ::CeSetUserNotificationEx как с UTC и местным временем входа, я нахожусь в положении, отвечая на мой собственный вопрос:

::CeSetUserNotificationEx хочет местное время.

+0

Это нормально, пока пользователь не изменяет настройки времени. Вы должны использовать интервал (вычислять его в формате UTC или по местному времени, как вы хотите) с текущим Системным временем, как я пытался объяснить в своем ответе. –

+0

Хммм ... Я не уверен в этом первоначальном замечании. В моих тестах я получил уведомление в правильное местное время, даже если бы я вносил изменения в настройки времени между вызовом :: CeSetUserNotificationEx и целевым временем. Может, я неправильно понял, что вы имели в виду? (снова ... ;-) –

+0

@Alain: После нескольких недель тестирования вещей - когда вы сказали «изменить настройки времени», если бы вы имели в виду «изменить часовой пояс», значит, вы правы. Я отслеживаю встречи, и они будут автоматически перемещаться вперед/назад при изменении часового пояса. Я обойдусь этим, также слушая изменения часовых поясов. –

1

Использование :: GetSystemTime(), чтобы заполнить ваш stStartTime параметры, преобразовать его в FileTime через :: SystemTimeToFileTime(), отлитый полученную структуру FILETIME на структуру ULARGE_INTEGER, добавить интервал соответствующих миллисекунд, литой обратно FILETIME, конвертировать к вашему параметру stEndTime с :: FileTimeToSystemTime().

См http://msdn.microsoft.com/en-us/library/aa908737.aspx для FILETIME арифметике

+0

Спасибо, но это не поможет. У меня есть время в будущем, когда я хочу, чтобы уведомление произошло, и нужно знать, если :: CeSetUserNotificationEx ожидает UTC или местное время. Я отредактировал вопрос (надеюсь) сделать это более ясным. –

+0

Отредактированный ответ: надеюсь, что это яснее :) –

+0

Еще раз спасибо, Ален, но вы стреляете рядом с целью ... :-) Это все еще не говорит мне, если :: CeSetUserNotificationEx ожидает UTC или местное время. У меня есть время в будущем, и * я * знаю, если это время UTC или местное время, но если я не знаю, чего хочет функция, то я не могу просто делать свое время арифметикой, а это то, что я уже сделал в любом случае , Я протестировал материал и написал отдельный ответ. –

Смежные вопросы