2009-04-16 5 views
0

datetime을 범용 datetime으로 사용하여 웹 응용 프로그램에서 vcal을 통해 메일을 보냅니다. 웹 응용 프로그램을 로컬로 (로컬 sevser 인도에서) 실행하면 내 vcal에서 정확한 시간을 얻을. 그러나 appication live (서버는 미국)를 실행 한 다음 1 시간 30 분 차이가 나는 corret 시간을 얻지 못했습니다. 제발 제안 해주세요.UniversalDateTime에서 정확한 시간을 얻지 못함

코드 :

Dim result As StringBuilder = New StringBuilder() 
     result.AppendFormat("BEGIN:VCALENDAR{0}", System.Environment.NewLine) 
     result.AppendFormat("BEGIN:VEVENT{0}", System.Environment.NewLine) 
     result.AppendFormat("SUMMARY:{0}{1}", subject, System.Environment.NewLine) 
     result.AppendFormat("LOCATION:{0}{1}", location, System.Environment.NewLine) 
     result.AppendFormat("DTSTART:{0}{1}", startDate.ToUniversalTime().ToString("yyyyMMdd\THHmmss\Z"), System.Environment.NewLine) 
     result.AppendFormat("DTEND:{0}{1}", endDate.ToUniversalTime().ToString("yyyyMMdd\THHmmss\Z"), System.Environment.NewLine) 
     result.AppendFormat("DTSTAMP:{0}{1}", DateTime.Now.ToUniversalTime().ToString("yyyyMMdd\THHmmss\Z"), System.Environment.NewLine) 
     result.AppendFormat("DESCRIPTION:{0}{1}", description, System.Environment.NewLine) 
     result.AppendFormat("END:VEVENT{0}", System.Environment.NewLine) 
     result.AppendFormat("END:VCALENDAR{0}", System.Environment.NewLine) 
     Return result.ToString() 

답변

1

IST (인도 표준시) UTC + 5에 있기 때문에 : UTC-7 (태평양)에 (30)와 미국의 시간대는 UTC-4 (동부)에서, 당신은 할 수 서버가 중앙 일광 절약 시간 (CDT)에서 실행중인 경우 1 시간 30 분 (실제로는 10 시간 반에서 벗어나지 만 오전/오후는 무시함) 인 것으로 나타납니다.

신속하게 사용자를 리디렉션하는 www.vcalendar.org에 vcalendar가 있습니다. PHP 응용 프로그램 인 것 같습니다. PHP 매뉴얼을 보면, H 포맷은 24 시간이다. 하지만 두 개의 H가 아닌 하나의 H가 필요합니다. vcalendar.org의 문서에 대한 PDF는 AWOL (404 - 단순한 404보다 유용한 페이지로 리디렉션된다는 점을 제외하고는 그렇지만 여전히 없습니다!).

제안 : 서버가 미국에서 실행되는 시간대를 설정하십시오 (4 개의 주요 시간대 및 잡다한 보조 시간대가 있음). '1.5 시간 = 10.5 시간 모듈로 12'가설이 그럴듯한 지 확인하십시오. 그리고 날짜/시간 형식과 'HH'의 의미를 자세히 살펴보십시오.

+0

그의 코드는 .NET과 같습니다. –

+0

@bmoeskau : 오늘은 vcalendar.org로 이동하면 .NET을 포함하여 여러 버전을 사용할 수 있다고 말하는 페이지로 리디렉션됩니다. 번역. –