2013-07-30 2 views
0


에서 입력 한 시간대를 어떻게 변환 할 수 있는지 알고 싶습니다 (이 경우 입력 한 코드는 시간대가 -7 일 것입니다). 문제는 해당 코드 줄을 Convert.ToDouble() 메서드로 묶으면 음수 기호 때문에 오류가 발생한다는 것입니다. 시간대에 음수 기호가 없다면 문제가되지 않습니다. 음수 기호가 아니라 숫자 만 가져 오는 방법이 있습니까?시간대를 double로 변환하십시오.

+1

먼저 ToString을 호출 할 이유가 있습니까? 'TotalHours' 자체가 double을 반환하므로'Convert.ToDouble() '을 사용하여 구문 분석하는 대신 변수에 저장할 수 있습니다. –

+0

Karl의 대답은 사용자가 요구 한 것이지만이 숫자를 "시간대". 표준 시간대는 하나의 숫자로만 표현할 수 없습니다. [timezone tag wiki] (http://stackoverflow.com/tags/timezone/info)의 "Time Zone! = Offset"을 참조하십시오. 대신에'TimeZoneInfo.Local.Id'의 문자열을 사용해야합니다. –

답변

4

이처럼 Math.Abs 방법을 통해 절대 값을 가져옵니다 (나는 ... 음 timzones 나중에 알아낼 수) :

int value = (int)Math.Abs(TimeZoneInfo.Local.BaseUtcOffset.TotalHours); 

참고 :이 -7 반환 7을 만들 것입니다.

관련 문제