TZOFFSETFROM和TZOFFSETTO是什么意思

MD *_*med 5 asp.net outlook

我试图从ASP.NET网站发送Outlook预约.我已经找到了发送该代码在这里,并试图实现它.但由于某些未知原因,它无法正常工作.

我运行代码的服务器位于美国/中部时区.我想把这个约会寄给在伦敦的客户.所以这里有一个夏令时问题,需要解决.

关于组成约会的字符串,我没有找到任何可理解的解释.我认为时区问题可以通过TZOFFSETFROM和解决TZOFFSETTO,但由于我不知道这些事情是如何工作的,我无法理解该怎么做.

有人可以用简单的英语解释这些事情吗?

编辑

以下是用于计算时区的字符串部分 -

string timezone = "BEGIN:VTIMEZONE"
                  + "\r\n" + "TZID:US/Central"
                  + "\r\n" + "X-MICROSOFT-CDO-TZID:11" 
                  + "\r\n" + "BEGIN:STANDARD"
                  + "\r\n" + "DTSTART:16010101T020000" 
                  + "\r\n" + "TZOFFSETFROM:-0500"
                  + "\r\n" + "TZOFFSETTO:-0600" 
                  + "\r\n" + "RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=11;BYDAY=1SU"
                  + "\r\n" + "END:STANDARD" 
                  + "\r\n" + "BEGIN:DAYLIGHT" 
                  + "\r\n" + "DTSTART:16010101T020000" 
                  + "\r\n" + "TZOFFSETFROM:-0600"
                  + "\r\n" + "TZOFFSETTO:-0500" 
                  + "\r\n" + "RRULE:FREQ=YEARLY;WKST=MO;INTERVAL=1;BYMONTH=3;BYDAY=2SU"
                  + "\r\n" + "END:DAYLIGHT"
                  + "\r\n" + "END:VTIMEZONE";
Run Code Online (Sandbox Code Playgroud)

这里有两个属性(我不完全知道它们的类型名称,所以我使用"属性"来指向它们.我的道歉)在两个地方使用,先后BEGIN:STANDARD和后BEGIN:DAYLIGHT.为什么?如果我DTSTART;TZID=US/Central:20101006T100000ZBEGIN:VEVENT块中指定开始日期,那么它在伦敦的客户展望时间会显示什么时间?

第二次编辑
确定,我现在明白这VTIMEZONE定义了一个特定的时区.指定时区后,我需要在该VEVENT部分中指定日历的时间,即DTSTART;TZID=US/Central:20100101T100000.现在应该是当前时间吗?我的意思是,在指定时间时我应该考虑夏令时,还是从当前时区获取当前时间并在那里使用它?

第三编辑

我应该在下一个块中指定什么时间 -

string event = "BEGIN:VEVENT" 
               + "\r\n" + "DTSTAMP:{8}"             
               + "\r\n" + "DTSTART;TZID=US/Central:{0}"  // What time should I specify here? 
               + "\r\n" + "SUMMARY:{7}"
               .................
Run Code Online (Sandbox Code Playgroud)

我应该在指定时考虑夏令时DTSTART,还是应该总是指定标准时间,它会自动调整为夏令时?

Laz*_*rus 10

TZOFFSETFROM是夏令时运行时GMT的本地时间偏移量,TZOFFSETTO是标准时间运行时GMT的本地时间偏移量.