...클라이언트 시간대 대신 SET 시간대를 사용하도록 .NET WinForms 구성 요소를 얻으려면 어떻게해야합니까?
우리는 클라이언트의 데스크톱에 이 설치되는 큰 Windows .Net 응용 프로그램 (winform 실행 파일)을 가지고 있습니다. 이 응용 프로그램은 다른 시간대의 서버에서 웹 서비스를 호출합니다. 사실 거의 모든 날짜 지향 구성 요소는 표준 시간대 차이를 감지하고 자동으로 (대부분의 응용 프로그램에서 일반적으로 바람직하지만 "날짜"인 회계 관련 응용 프로그램에서 문제가되는 datetime 값 (SQL 쿼리에서 생성 된 데이터 세트에서 반환 됨)을 조정합니다. "datetime"지향. 우리는 "날짜"부분에만 관심이 있습니다. 그러나 1/1/2003 GMT-5의 날짜는 클라이언트에서 12/31/2002 11:00 GMT-6으로 자동 변환됩니다. 코드를 모두 통과하고 UniversalTime을 추출하여 시각적 목적으로 다시 가져 오려면 클라이언트 측 실행 파일의 시간대를 단순히 가짜로 만들고 싶습니다. 같은 시간대 서버.
질문 : 전역 설정이 아닌 현재 실행중인 인스턴스 인 에 대해 프로그래밍 방식으로 TimeZone을 설정할 수 있습니까?
Google의 정확한 문제이므로 추가 할 항목이별로 없습니다. 여기서는 원격 SQL 데이터를 데이터 집합으로 가져온 다음 ActiveReports를 사용하여 보고서를 데이터 집합에 바인딩합니다. 따라서 예를 들어, 생일은 잘못되었지만 X 시간은 서부 시간대의 날짜를 뺍니다. 그래서 생일은 마이너스 1을 벗어났습니다.
어떤 생각?
감사합니다.
세스
사용하는 .NET 버전은 무엇? System.DateTime 및 시간대에 대한 .NET2의 일부 변경 사항이있었습니다 (System.DateTime.Kind가 추가되었습니다). DateTime이라고 가정 할 때 System.DateTime.Kind의 값은 무엇입니까? 데이터베이스의 데이터 유형이 무엇입니까 (예 : SQL Server에 몇 가지 옵션이 있음)? 클라이언트에서 쿼리를 실행하고 (또는 System.Data.DataSet에 배치) 아니면 ActiveReports에 쿼리를 제공하고 있습니까? 클라이언트의 데이터 형식은 무엇입니까? System.DateTime 또는 System.DateTimeOffset? –