2013-12-19 3 views
0

일부 날짜 열이 포함 된 데이터를 수집합니다. 데이터베이스에서 반환 된 날짜는 UTC 형식입니다. 이 데이터를 보고서 뷰어에 공급하고 일광 절약 시간제를 고려하여 날짜를 현지 형식으로 표시하려고합니다.rdlc 보고서에서 UTC를 일광 절약 시간제로 변환하십시오.

나는 서버 측에서 그렇게 할 수 있지만 클라이언트 시스템 시간대에 따라 변환을 원합니다.

어떤 방법이 있습니까?

답변

0

클라이언트가 웹 페이지 또는 .NET 응용 프로그램입니까? .NET 응용 프로그램 인 경우 이와 같이 할 수 있습니다. 첫째과 같이 서버에 클라이언트의 시간대를 보내

string clientTimeZone = TimeZoneInfo.Local.ToSerializedString(); 

를 다음 서버에 :

var clientTimeZoneInfo = TimeZoneInfo.FromSerializedString(clientTimeZone); 
var localDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, clientTimeZoneInfo); 

을 이것은 웹 애플리케이션은 서버에 오프셋 보내려면이 자바 스크립트를 사용하는 경우 :

var timeNow = new Date(); 
var timezone = timeNow.getTimezoneOffset()/60 * (-1); 

다음 서버에서 :

string clientTimeZoneOffset = "8"; 
var clientTimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone("client", new TimeSpan(0, Int32.Parse(clientTimeZoneOffset), 0, 0), 
      "client", "client"); 

var utcDateTime = DateTime.UtcNow; 
DateTime localDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcDateTime, clientTimeZoneInfo);