1
我有一些DDay iCal代碼,它從我們的SQL數據庫中接收事件並創建一個iCal文件,以便用戶可以訂閱Outlook或Google日曆中的互聯網日曆。它工作正常,除非用戶在不同的時區同步到他們的日曆時,它會錯誤地顯示時間。我們的網絡服務器處於中心時間,因此東部時間的用戶將在實際活動時間前1小時看到時間。基本上我希望iCal忽略時區,只顯示數據庫中顯示的開始和結束時間。我有一種感覺,這將是不可能的,我們必須自己做時間轉換。Outlook 2010中的DDay iCal更改時間
Dim iCal As iCalendar = New iCalendar()
Dim evt As [Event]
iCal.AddLocalTimeZone()
Dim dtStart As DateTime = dtr_SQL("StartDate").ToString()
Dim dtEnd As DateTime = dtr_SQL("EndDate").ToString()
Dim startDate As iCalDateTime = dtStart.ToUniversalTime()
Dim endDate As iCalDateTime = dtEnd.ToUniversalTime()
evt = iCal.Create(Of [Event])()
evt.Start = startDate
evt.Start.HasTime = True
evt.Start.IsUniversalTime = True
evt.End = endDate
evt.End.HasTime = True
evt.End.IsUniversalTime = True
雖然這不起作用。我將計算機更改爲東部標準時間,將互聯網日曆同步到Outlook,並且當我運行代碼時,它仍然將時間縮短到Outlook內一小時。我嘗試設置時區,它從來沒有工作。 – GS442
我可能誤解了 - 用戶是否正在執行您編寫的任何代碼,或者他們是否直接從您的代碼已經處理的Outlook約會(或Google日曆約會)中訪問? – Dustin
這意味着一個與Outlook或Google日曆同步的實時iCal供稿。當用戶在Outlook中訂閱Internet日曆時,每5分鐘輪詢一次該頁面以獲得任何可能的更改。 – GS442