Поделиться через


Сведения о программном переводе календарей на летнее время

Многие страны соблюдают летнее время (DST) путем продвижения часов, чтобы вечером было больше дневного света. Обычно это делается путем установки часов на час вперед весной, а часы на час назад осенью. В этом разделе этот период между весной и осенью называется периодом DST. Большинство стран имеют свои собственные правила, касающиеся начала и окончания DST. Даты периода DST могут меняться из года в год, и пользователи должны обновлять свой календарь Microsoft Outlook каждый раз при изменении правил DST.

Если вы используете версию Windows Vista или более поздней версии или включаете автоматическое обновление Windows, изменение DST может не повлиять на вас. В противном случае следует установить обновления DST для Windows. Независимо от того, устанавливаются ли обновления автоматически, от вашего имени ИТ-отделом или самостоятельно в качестве домашнего пользователя, некоторые существующие встречи, которые происходят в течение периода DST, могут отображать неправильное время после установки обновлений DST для Windows. Это относится как к повторяющимся встречам, так и к встречам с одним экземпляром. Необходимо обновить эти встречи, чтобы они отображались правильно в Outlook, в Outlook Web App и в приложениях, основанных на объектах данных совместной работы (CDO). Обновление неправильно отображаемых встреч в календарях из-за DST называется перебазированием календарей.

Outlook предоставляет инструменты для пользователей, а Exchange Server предоставляет администраторам средства для перебазирования календарей. Outlook предоставляет средство обновления данных часового пояса для пользователей Outlook. С помощью этого средства пользователи могут обновлять собственные календари. Exchange Server предоставляет средство обновления календаря Exchange, которое помогает администраторам избежать трудностей, возникающих в результате широкого развертывания средства Outlook для всех пользователей и убедиться, что каждый пользователь правильно запускает средство Outlook.

Помимо того, что пользователи используют средство обновления данных часового пояса или администраторы для запуска средства обновления календаря Exchange, сторонние разработчики клиентского программного обеспечения MAPI могут скачать библиотеку DLL Tzmovelib.dll. Используя эту сборку, разработчики могут использовать те же API, что и Outlook и Exchange Server использовать в средствах перебазирования календаря.

В следующем списке показаны API-интерфейсы перебазирования календаря:

Чтобы написать средство перебазирования встреч с помощью API перебазирования календаря, можно использовать следующую процедуру:

  1. Используйте IOlkApptRebaser::BeginEnumerateAppointments и IOlkApptRebaser::EndEnumerateAppointments , чтобы найти встречи, которые являются кандидатами для повторного базирования. При необходимости укажите сведения, позволяющие пользователю решить, какие встречи следует перебазировать. Кроме того, используйте MAPI или объектную модель Outlook для изучения сведений о времени и повторении встречи путем синтаксического анализа свойств PidLidAppointmentTimeZoneDefinitionStartDisplay, PidLidAppointmentTimeZoneDefinitionEndDisplay и PidLidAppointmentTimeZoneDefinitionRecur .

  2. Используйте HrCreateApptRebaser, IOlkApptRebaser::BeginRebaseAppointments и IOlkApptRebaser::EndRebaseAppointments , чтобы перебазировать встречу.

См. также