PHP EWS -约会在exchange 2010和我的应用程序之间有一个小时的差异


PHP EWS - Appointments have a one hours difference between exchange 2010 and my app

我正在使用github (https://github.com/jamesiarmes/php-ews)中的PHP EWS库。

当使用CalendarView检索一组日历项目时,这些项目的接收时间差为1小时。设置交换服务器时区为"(UTC) Dublin, Edinburgh, Lisbon, London",并开启夏令时。

通过EWS 2010文档,没有办法使用CalendarView指定我的客户端APP所处的时区。

我已经更改了运行我的应用程序的服务器的时区,并尝试了许多其他事情,试图获得交换服务器和我的应用程序之间的约会时间,但无济于事。

谁能建议如何克服这一点?

许多谢谢,

您需要在SOAP报头中指定时区和DST转换,例如对于您提到的特定时区,它将是

    <soap:Header>
  <t:RequestServerVersion Version="Exchange2013" />
  <t:TimeZoneContext>
    <t:TimeZoneDefinition Name="(UTC) Dublin, Edinburgh, Lisbon, London" Id="GMT Standard Time">
      <t:Periods>
        <t:Period Bias="P0DT0H0M0.0S" Name="Standard" Id="Std" />
        <t:Period Bias="-P0DT1H0M0.0S" Name="Daylight" Id="Dlt/1" />
      </t:Periods>
      <t:TransitionsGroups>
        <t:TransitionsGroup Id="0">
          <t:RecurringDayTransition>
            <t:To Kind="Period">Dlt/1</t:To>
            <t:TimeOffset>P0DT1H0M0.0S</t:TimeOffset>
            <t:Month>3</t:Month>
            <t:DayOfWeek>Sunday</t:DayOfWeek>
            <t:Occurrence>-1</t:Occurrence>
          </t:RecurringDayTransition>
          <t:RecurringDayTransition>
            <t:To Kind="Period">Std</t:To>
            <t:TimeOffset>P0DT2H0M0.0S</t:TimeOffset>
            <t:Month>10</t:Month>
            <t:DayOfWeek>Sunday</t:DayOfWeek>
            <t:Occurrence>-1</t:Occurrence>
          </t:RecurringDayTransition>
        </t:TransitionsGroup>
      </t:TransitionsGroups>
      <t:Transitions>
        <t:Transition>
          <t:To Kind="Group">0</t:To>
        </t:Transition>
      </t:Transitions>
    </t:TimeZoneDefinition>
  </t:TimeZoneContext>
</soap:Header>

这在http://msdn.microsoft.com/en-us/library/ee332363(v=exchg.140).aspx

中有记录

干杯格伦

相关文章: