2017-04-14 7 views
0

W. Aus 표준시의 .Net/Windows TimeZoneInfo 개체는 일광 절약 시간을 지원함을 보여줍니다. 호주 정부 사이트에서 지역의 일광 절약 법 준수 여부를 조사한 결과, 웨스턴 오스트레일리아 주에서는 2009 년에이를 폐지 했으므로 2010 년부터 현재까지의 일광 절약제는 없었습니다.W. Aus 표준시 .Net TimeZoneInfo SupportsDaylightSavingsTime 문제

여러 시스템에서 TimeZoneInfo 개체를 확인했으며 모두 Aus 표준시가 dst를 지원한다고 말합니다. 모든 레지스트리의 값은 같습니다. Windows Updates를 확인하고 TimeZoneInfo 개체에 대한 업데이트를 찾을 수 없습니다.

누가 Microsoft가 7 년 이상이 개체를 업데이트하는 것을 간과 한 적이 없는지에 대해 알려줄 수 있습니까? 내가 놓친 게 있니?

+1

SiupportsDaylightSavingTime은 시간대에 대한 DST 규칙이 있는지 여부를 알려줍니다. 그렇습니다. 2010 년 이전의 날짜를 반드시 포함해야합니다. DST가 현재 시행되고 있다고 말하지 않습니다. –

+0

@Hans 답장을 보내 주셔서 감사합니다. 그게 지금 어떻게 작동하는지 훨씬 더 분명해. – llc381

답변

3

나는 당신이보고있는 생각하십시오 SupportsDaylightSavingTime 재산에 the MSDN documentation

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time"); 
tzi.SupportsDaylightSavingTime == true 

:

시간대 시간 규칙을 절약 어떤 일광이 있는지 여부를 나타내는 값을 가져옵니다. 이제까지 적어도에 시간의 짧은 역사 내에서,이 경우 시간대 현재 일광 절약 시간을 사용하거나하지 않을 경우

그래서, 당신을 말하지 않는다, 당신을 알려줍니다 Windows 표준 시간대 데이터.

TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById("W. Australia Standard Time"); 
tzi.IsDaylightSavingTime(DateTime.UtcNow) // false 

을 그리고 당신은이 특정 연도에 언제든지 지원되는지 알고 싶다면, 당신은을 검사 할 수 있습니다 :

당신이 DST는 현재 효과 있는지 알고 싶은 경우에, 할 GetAdjustmentRules 메서드에서 반환 된 조정 규칙 데이터 그래서 우리는 2005 년부터 데이터가 앞으로 레지스트리에 있다는 것을 알 수

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion 
    \Time Zones\W. Australia Standard Time\Dynamic DST 

Registry

:

윈도우에서 레지스트리의 시간대 데이터를 저장합니다. 신중히 살펴보면 2006 년과 2009 년 사이의 유사점을 볼 수 있습니다. This article은 관심이있는 경우 데이터를 해석하는 데 도움을 줄 수 있습니다.

사실, 우리가 확인하는 경우 timeanddate.com (A 매우 시간대 정보를 좋은 자원), 우리는 웨스턴 오스트레일리아 실제로 2006 년부터 2009 년에 일광 절약 시간이 않았다는 것을 볼 수 있습니다 마지막으로

timeanddate capture

Windows 시간대 서비스 팀이 세계 표준 시간대 데이터 변경 사항을 최상으로 유지하고 있다고 덧붙입니다. 업데이트는 this blog을 모니터링 할 수 있습니다. 특히 the June 2016 update을 사용하여 적용 범위를 크게 확대하고 과거의 정확성을 향상 시켰습니다.

호주의 경우 2016 년 6 월 업데이트가 두 개의 새로운 표준 시간대를 추가했습니다. 유 클라 근처에서 사용 된 Lord Howe Island (UTC + 10 : 30 STD, UTC + 11 : 00 DST) 및 비공식 중앙 서부 표준시 (UTC + 08 : 45)에 대한 것이었지만 표준에 대한 수정은 필요하지 않았습니다 본토 시간대.

+0

은 완벽하게 이해할 수 있으며, 나를 빠져 나가는 정보를 정확히 지적했습니다. SupportsDaylightSavingsTime 비트가 TimeZoneInfo 클래스 내의 검사 규칙 메서드에 날짜를 전달하는 논리 컨트롤 역할을한다고 생각하지 않았습니다. 이제는 이러한 객체를 전반적으로 읽는 방법이 훨씬 명확 해졌습니다. 고맙습니다!! – llc381

+0

또한 Windows 업데이트에 대한 정보 및 링크에 감사드립니다. 나는 그 많은 자원에 가봤습니다. 신임장을 가진 사람을 확인하려면 정확성을 확인하여 우리 팀이 정확한 시간을 제공하고 있는지 확인하는 데 필요한 스트레스를 덜어줍니다. 우리는 여러분의 라이브러리 중 일부를 Windows 객체와 함께 사용하고 있습니다. 우리 (및 많은 다른 사람들)는이 영역에서의 모든 노력에 감사드립니다! – llc381

+0

기꺼이 도와 드리겠습니다! 또한 대안 방법으로 [노다 시간] (http://nodatime.org)을 살펴볼 수도 있습니다. –