2011-11-16 2 views
2

C# 응용 프로그램에서 우리는 여러 언어를 지원합니다. 응용 프로그램 언어가 영어이고 응용 프로그램이 영어가 아닌 언어 (스페인어)로 설치된 OS. TimeZoneInfo.GetSystemTimeZones()를 사용하여 SystemTime Zones를 검색하려고하면 스페인어 언어로 제공됩니다. 영어로 얻을 수있는 방법이 있거나 거기에 일반적인 해결책이 있습니다. 응용 프로그램이 로컬 컴퓨터에없는 시간대를 요구하는 경우영어 이외의 언어로 된 OS 인 경우 GetSystemTimeZone

답변

2

TimeZoneInfo.GetSystemTimeZones Method

", 당신은 CreateCustomTimeZone 방법의 오버로드를 사용하여 사용자 정의 시간대를 만들 수 있습니다 자세한 내용은 방법 :. 조정없이 시간대 만들기 규칙 및 방법 : 조정 규칙을 사용하여 표준 시간대 만들기 "를 참조하십시오. 또한

,

"는 GetSystemTimeZones 방법은 TimeZoneInfo 중의 모음 레지스트리에 정의 된 시간대 만 개체를 ​​반환합니다. 그것은 CreateCustomTimeZone 방법의 오버로드를 사용하여 만든 시간대를 포함하지 않습니다."

+0

사실 나는 같은 시간대 목록을 원하지만 Englisgh 문화권에 목록이 표시되어야합니다. 즉 다른 언어가 아닌 영어로 표시 이름을 원합니다. 사용자 정의 표준 시간대를 직접 추가하지는 않습니다. –

+0

DisplayName도 동일한 페이지에서 처리됩니다. – Kris

1

일시적으로 현재의 문화를 설정해보십시오 :

var orgCulture = Thread.CurrentThread.CurrentCulture; 
Thread.CurrentThread.CurrentCulture 
    = Thread.CurrentThread.CurrentUICulture 
     = new CultureInfo("en-us"); 

var zones = TimeZoneInfo.GetSystemTimeZones(); 
// get names here 

Thread.CurrentThread.CurrentCulture 
    = Thread.CurrentThread.CurrentUICulture 
     = orgCulture; 
+0

나는 아직도 작동하지 않는다! !!!!!! –

+0

도움이 필요하면 태도를 개선하십시오. – jgauffin

+0

내 의견에서 당신은 내 태도가 잘못되었다는 것을 알았습니다. 내가 당신을 해친다면 여전히 미안합니다. –

0

이유 DateTime.Now.ToLongDateString를 사용하지()?

+0

Instad ToLongDateString()에는 사용할 수있는 다른 함수가 있습니다 ..... – Liran

관련 문제