Daylight savings time adjustment in Outlook Meeting (.vcs) file?

I'm dynamically creating a Microsoft Outlook Meeting file (.vcs file) through an ASP page that gets appointment info out of a database. I then link to that file on the web page. This process works fine.
Here's the problem:

Appointment times are all in US Eastern Standard Time. When I create the .vcs file, I generate the time for the appointment to be in GMT (so I add 5 hours to the appointment time).

10:00 am EST = 3:00 pm GMT

so in a vcs file...

5/2/2002 10:00am EST = 20020502T150000Z

This supposedly should automatically make the adjustment in a client's Outlook when they open up the vcs file. However, ever since daylight savings time has passed, some of my users around the world have been getting appointment times showing up as an hour off.

I ran a couple of tests on my machine and I noticed that when I have the Windows setting: 'Automatically adjust for daylight savings' turned on, the times are 1 hour out of whack. When I turn it off, the times are ok.

Anyone have any ideas on how to get around this? Any way of determining if a clients system is set to automatically adjust daylight savings?

Thanks in advance...
LVL 1
SuperLeonAsked:
Who is Participating?
 
SuperLeonConnect With a Mentor Author Commented:
I couldn't find a really good way around this so I succumbed to the quick fix 'hey...it works doesnt it?' method. According to the time of year, I adjust the number of hours I add to the current date to account for daylight savings time (since most computers are set to automatically adjust for it). I created a function that returns the hour difference between EST and GMT. It returns 4 or 5 depending on the time of year. Seems to work.


function GMTDateDiff()
     'this function calculates the GMT hour time difference
     'taking into accoun Daylight Saving Time (based on server current date)
     
     DSTyear = year(now)
     
     'DST is between first Sunday of April and Last Sunday of October
     
     'find first Sunday of April in current year
     for x = 1 to 7
          DSTchkDate = cdate("4/" & x & "/" & DSTyear)
          if weekday(DSTchkDate) = 1 then
               DSTStartDate = DSTchkDate
               exit for
          end if    
     next
     
     'find last Sunday in October in current year
     for x = 31 to 25 step -1
          DSTchkDate = cdate("10/" & x & "/" & DSTyear)
          if weekday(DSTchkDate) = 1 then
               DSTEndDate = DSTchkDate
               exit for
          end if    
     next
     
     if now() <= DSTEndDate and now() >= DSTStartDate then
          GMTDateDiff = 4
     else
          GMTDateDiff = 5
     end if
end function
0
 
brunoCommented:
*listening*

0
 
geteCommented:
also listening...

Don't know if the following article would help or not:
Calendaring: Understanding the Client Side
http://www.exchangeadmin.com/Articles/Index.cfm?ArticleID=7697
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
brunoCommented:
you complete me.
0
 
gladxmlCommented:
No comment has been added lately and it seems that this question have been abandoned. So it's time to clean up this TA.

I will leave a recommendation in the Cleanup topic area that this question or invite a Moderator to close this question if there's no reply from you after seven days.

In the absence of responses, I will recommend the following:

Question PAQ and point refunded

** PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER **


Just trying to help for the cleanup...
gladxml
0
 
brunoCommented:
mod,

please accept superleon's comment above with the code as the answer if possible.


thanks,

bruno
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.